본문 바로가기
Solution_/프로그래머스

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

by 낭람_ 2020. 8. 18.
반응형

문제 설명

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

 

제한사항

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

입출력 예

prices return
[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]

 

입출력 예 설명

  • 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다.
  • 2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다.
  • 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.
  • 4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다.
  • 5초 시점의 ₩3은 0초간 가격이 떨어지지 않았습니다.

※ 공지 - 2019년 2월 28일 지문이 리뉴얼되었습니다.

 

[python]

import collections
def solution(prices):
    deque = collections.deque(prices)
    answer = []
    while len(deque) > 0 :
        tmp = deque.popleft()
        day = 0
        for i in deque :
            day += 1
            if tmp > i :
                break
        answer.append(day)
    return answer

 

pop(0)을 사용하기 때문에 빠른 deque를 사용하여 popleft()로 바꾸었다.

 

반응형

댓글