[Py_Lv2] 주식가격

Sunghun📈·2021년 10월 8일
0

프로그래머스

목록 보기
62/93
post-thumbnail

문제 설명

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

제한 사항

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

입출력 예

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

접근법

시작 가격을 뽑는것 부터 시작한다.

1을 뽑은뒤 그 뒤에 값들과 비교를 한다.
모두와 비교를 하고 비교값들 보다 첫번째 값이 작으면
sec에 +1씩 값을 저장한다.

만약 비교하는 값들 중 첫번째 값보다 작은 값이 나온다면
for 문을 탈출하는 조건을 만들고 sec값을 answer 배열에 저장한다.

이렇게 진행하면 문제를 해결할 수 있다!!!

===========================================================

from collections import deque
def solution(prices):
    answer = []
    queue = deque(prices)
    
    while queue:
        price = queue.popleft()
        sec = 0
        for q in queue:
            sec +=1
            if price > q:
                break
        answer.append(sec)
    return answer
profile
데이터 분석과 AI 분야의 전문가를 꿈꾸는 청년

0개의 댓글