[프로그래머스] 주식가격 - python 본문

코테 문제 풀이

[프로그래머스] 주식가격 - python

미니모아 2022. 4. 15. 14:14
반응형

주식가격

문제 설명

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.

제한 조건

  • prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
  • prices의 길이는 2 이상 100,000 이하입니다.

풀이

마지막 배열에는 무조건 0이 들어가기 때문에 제외 하고 디큐로 만든다.

왼쪽부터 하나씩 빼면서 큐에 해당 값보다 큰 값을 센다. 작은 값이 나오면 종료한다. 최소 1초는 가격이 유지된다고 보기 때문에 1부터 시작한다.

from collections import deque
def solution(prices):
    answer = []
    prices = deque(prices[:-1])
    
    while prices:
        now = prices.popleft()
        answer.append(1)
        for p in prices:
            if p < now:
                break
            answer[-1] += 1
    answer.append(0)
    return answer
반응형
Comments