Algorithm

[Algorithm] 주식가격(python)

DS쟁이 2022. 11. 30. 20:08

❗ 본 포스팅은 Programmers의 코딩테스트 연습문제를 활용합니다. 다양한 문제를 풀어보고 싶다면

    Programmers를 방문하세요.

 

주식가격 문제이다.

 

문제를 보면 그렇게 어려워보이지는 않아보인다.

 

문제를 해석하면

  1. 주식가격이 떨어지지 않은 기간을 구해야함
  2. 리스트의 앞에서부터 순차적으로 뽑음.
  3. 뽑고 남은 원소들과 비교(뽑힌거보다 같거나 크면 카운트)

큐를 이용하면 쉽게 풀린다.

차례대로 1, 2, 3, 1, 2 이렇게 순서대로 뽑히게 되고 각각 뽑힐때마다 뒤에 있는 원소와 비교하면 된다.

 

from collections import deque

def solution(prices):
    answer = []
    qu = deque(prices)
    while qu:
        count = 0
        x = qu.popleft()
        
        for i in qu:
            count+=1
            if x>i:
                break

        answer.append(count)
    return answer

 

** 시간초과때문에 고생좀했다.