[프로그래머스 level 2] '주식 가격' 풀이 - python

glow_soon·2022년 4월 13일
0

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42584

일반 구현

def solution(prices):
  result=[]
  for i in range(len(prices)):
    cnt=0
    for j in range(i+1, len(prices)):
      if prices[i]<=prices[j]:
        cnt+=1
      else:
        cnt+=1
        break
    result.append(cnt)

  return result

deque 이용

from collections import deque

def solution(prices):
  result=[]
  prices=deque(prices)

  while prices:
    cnt=0
    # 맨앞 원소 뽑아내고 삭제
    p=prices.popleft()
    # 나머지 가격들 검사
    for item in prices:
      cnt+=1
      # 가격이 떨어졌으면 중지
      if item<p:
        break
    result.append(cnt)
    
  return result

효율성이 좋아졌다.

profile
나는야 코린이

0개의 댓글