문제


풀이

list에서 가장 앞의 element를 반복적으로 지워나가야 하는 작업을 할 때는, list.pop(0)를 사용한다거나, list slicing을 활용(예를들어 list[1:])하지 말고, deque.popleft()를 적극적으로 활용하자.

from collections import deque
def solution(prices):
    st = []
    answer = []
    dq = deque(prices)
    while dq:
        bottom = dq.popleft()
        cnt = 0
        for x in dq:
            cnt += 1
            if x<bottom:
                break
        answer.append(cnt)
    return answer