Programmers(Python)
[프로그래머스 lv2] 주식 가격 - 스택/큐 - 파이썬(Python)
ol-rlo-zl
2023. 4. 4. 16:33
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
시행착오 (list 이용)
66.7점 - 정확성 테스트 통과, 효율성 테스트 실패(시간초과)
def solution(prices):
result = []
while prices:
now = prices.pop(0) #
i = 0
for p in prices:
i += 1
if now > p:
break
result.append(i)
return result
정답 (deque 이용)
list를 이용할 때와 같은 풀이방식이지만, deque를 이용하면 더 효율적이다.
from collections import deque
def solution(prices):
result = []
prices = deque(prices) #
while prices:
now = prices.popleft() #
i = 0
for p in prices:
i += 1
if now > p:
break
result.append(i)
return result
결과