주식가격이 내려가지 않은 기간은 몇 초인지 파악하는 문제이다.
# 가격이 내려가지 않은 기간
from collections import deque
def solution(prices):
answer = []
prices = deque(prices)
while prices:
now = prices.popleft()
result = 0
if not prices:
result = 0
else:
for val in prices:
result += 1
if val < now:
break
answer.append(result)
return answer
print(solution([1, 2, 3, 2, 3]))
처음 들어간 값이 먼저나오는 Queue(FIFO)구조로 동작한다.
이렇게 풀게 되면 N + (N - 1) + (N - 2) + (N - 3) + ... + 1번 돌게 된다.
O(N^2)이다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][Python] 가장 큰 수 (0) | 2021.11.30 |
---|---|
[프로그래머스][Python] K번째수 (0) | 2021.11.26 |
[프로그래머스][Python] 더 맵게 (0) | 2021.11.25 |
[프로그래머스][Python] 다리를 지나는 트럭 (0) | 2021.11.24 |
[프로그래머스][Python] 프린터 (0) | 2021.11.10 |