-
[프로그래머스 스택/큐] 주식가격코딩테스트 2020. 8. 7. 19:55
문제
https://programmers.co.kr/learn/courses/30/lessons/42584
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때,
가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.
price return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.
아이디어
case 0: 1,2,3,2 -> 4초 동안 안 떨어짐
case 1: 2,3,2 -> 3초 동안 안 떨어지고, 4초째에 떨어짐.
case 2: 3,2 -> 1초 동안 안 떨어지고, 1초후 떨어짐
case 3: 2,3 -> 1초 동안 안 떨어짐.
case 4: 3 -> 마지막 가격이므로 0초
case는 price의 길이만큼 반복.
case마다 두번째원소부터 조회하는데, 가격이 떨어지면 비교할 필요없으므로 stop.
정답코드
def solution(prices): answer = [] for i in range(0, len(prices)): sec = 0 for j in range(i+1, len(prices)): if prices[i] <= prices[j]: sec += 1 else: sec += 1 break answer.append(sec) return answer
해설
0초부터 주식이 안떨어졌으면, 1초씩 증가 시키고, 떨어지면 1초 증가시키고 stop
'코딩테스트' 카테고리의 다른 글
[SQL] 차집합, LEFT JOIN (0) 2020.08.08 [프로그래머스 스택/큐] 다리를 지나는 트럭 (0) 2020.08.08 [백준 2798 /python] 블랙잭 (0) 2020.08.07 [프로그래머스 SQL 테스트] SELECT (0) 2020.08.06 [백준 2920] 음계 - python3 (0) 2020.07.13