Python으로 구현한 42584번 주식가격 문제 풀이입니다.
https://programmers.co.kr/learn/courses/30/lessons/42584
코딩테스트 연습 - 주식가격
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00
programmers.co.kr
from collections import deque
def solution(prices) :
answer = []
prices = deque(prices)
while prices :
cnt = 0
price = prices.popleft()
for i in prices :
cnt += 1
if price > i :
break
answer.append(cnt)
return answer
1. 전달받은 prices 리스트를 deque로 감싸 갱신한다.
2. prices가 빌 때까지 아래와 같은 작업을 반복 수행한다.
- prices의 가장 앞에 있는 요소를 빼어 price에 할당한다.
- 남아 있는 prices의 요소들을 확인하며, cnt를 1 증가시키고 price가 확인하는 요소보다 클 경우 break 한다.
- for문을 빠져나오면 answer에 cnt를 추가하고, 이와 같은 작업이 담겨 있는 while문이 끝나면 최종적으로 answer을 반환한다.
'프로그래머스(Python) 풀이 > Level.2' 카테고리의 다른 글
프로그래머스(Python) 68645번 삼각 달팽이 풀이 (0) | 2022.05.07 |
---|---|
프로그래머스(Python) 17679번 [1차] 프렌즈4블록 풀이 (0) | 2022.05.07 |
프로그래머스(Python) 12981번 영어 끝말잇기 풀이 (0) | 2022.05.07 |
프로그래머스(Python) 42583번 다리를 지나는 트럭 풀이 (0) | 2022.05.07 |
프로그래머스(Python) 42578번 위장 풀이 (0) | 2022.05.06 |