Algorithm/Stack & Queue

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

코딩쪼앙 2024. 7. 19. 13:55

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 풀이

  • 순서대로 값을 꺼내서 확인하기 위해 주식 가격 정보를 queue로 변경
  • 맨 앞에 있는 값부터 확인하면서 확인
    • 값이 떨어지면 cnt를 멈추고 떨어지지 않았다면 계속해서 반복
    • 최대길이가  100,000이므로 for문을 돌리지 않고 바로바로 꺼내서 확인 -> 시간초과 남 ㅠㅠ

코드

from collections import deque

def solution(prices):
    answer = []
    prices = deque(prices)
    while prices:
        p = prices.popleft()
        cnt = 0
        for pc in prices:
            cnt += 1
            if pc < p:
                break
        answer.append(cnt)
                
    return answer