본문 바로가기
Algorithm/Programmers Lv.2

[스택/큐] 주식가격

by newnu 2021. 7. 6.
반응형

# Problem

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

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

입출력 예

prices return
[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]

입출력 예 설명

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

-> 더 작은 수가 나올때까지 일 수 계산하기

 

# My Answer

def solution(prices):
    answer = [0 for _ in range(len(prices))]
    stack=[]
    st=[]
    for i in range(len(prices)):
        stack = st.copy()
        for s in stack:
            if prices[s] <= prices[i]:
                answer[s]+=1
            else:
                answer[s]+=1
                st.remove(s)
        st.append(i)
    return answer

 

 

# Solution 1

def solution(prices):
    answer = [0] * len(prices)
    for i in range(len(prices)):
        for j in range(i+1, len(prices)):
            if prices[i] <= prices[j]:
                answer[i] += 1
            else:
                answer[i] += 1
                break
    return answer

 

비슷한 문제 - daily temperatures 

 

[LEET CODE] 739. Daily Temperatures

# Problem Given a list of daily temperatures T, return a list such that, for each day in the input, tells you how many days you would have to wait until a warmer temperature. If there is no future..

newnuleee.tistory.com

-> 더 큰 수가 나올 때까지의 일 수 계산하기

반응형

'Algorithm > Programmers Lv.2' 카테고리의 다른 글

다음 큰 숫자  (0) 2021.07.06
최댓값과 최솟값  (0) 2021.07.06
피보나치 수  (0) 2021.07.04
[완전탐색] 카펫  (0) 2021.07.04
[완전탐색] 소수 찾기  (0) 2021.07.04