[Programmers](python) 주식 가격

berry ·2022년 7월 21일
0

Algorithm

목록 보기
76/77
post-thumbnail

🧩 문제


주식 가격


🧩 문제 해석

prices [1, 2, 3, 2, 3]

  • 현재 숫자보다 작은 숫자를 만나면 만나기 까지의 걸린 초를 리턴한다.
  • 현재 숫자보다 작은 숫자를 만나지 않으면 끝까지 걸린 초를 리턴한다.
  • 다음 숫자로 이동 했을 때 비교하므로, 초는 0에서 시작한다.

🏁 풀이


def solution(prices):
    
    from collections import deque

    queue = deque(prices)
    answer = []

    while queue:
        cnt = 0
        now = queue.popleft()
        for q in queue:
            cnt += 1
            if now > q:
                break
        answer.append(cnt)

    return answer
  • Prices 첫번째 인덱스 값(now)과 나머지 값들을 모두 비교하여
    now 보다 작으면 주식 가격이 떨어진 것이므로 answer에 걸린 초를 입력한다.
  • while queue에서 처음 0으로 시작하여, queue에 원소가 더 남아있다면 걸린 초를 +1 해주고 now와 비교한 뒤 answer.append하게 된다.
    queue에 원소가 더 남아있지 않다면 바로 answer.append한다.
profile
Engineer

0개의 댓글