틀린 부분 : if price > p
틀린 이유 : 문제 이해를 잘못함;;
3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.
-> 가격이 떨어졌다면 가격이 떨어진 지점까지의 거리를 구해야함.
from collections import deque
# 파이썬의 deque(double ended queue, 입구와 출구가 양쪽 동시 사용)를 이용해 문제를 해결하라고 한다.
# 파이썬 언어의 특성때문인데, queue를 사용하면 타임아웃되기 쉽다.
def solution(prices):
prices = deque(prices)
result = []
for _ in range(len(prices)-1):
price = prices.popleft()
count = 0
for p in prices:
if price > p: # 현재 가격이 다음 시간초보다 커지면 1초간만 더 가격이 지속했다고보고 가격이 떨어졌으므로 break
count += 1
break
else:
count += 1
result.append(count)
result.append(0)
return result