Posts [알고리즘] 프로그래머스 - 주식가격
Post
Cancel

[알고리즘] 프로그래머스 - 주식가격


문제

주식가격


접근

스택 문제이다.
스택 최상단보다 큰 값이 나오면 작아질 때까지 스택에서 빼주면서 인덱스를 계산해준다.
모든 값을 스택에 추가한 후에는 스택에 얼마나 들어있었는지를 계산해주면 된다.

코드

  • 파이썬 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def solution(prices):
    answer = [0] * len(prices)
    stack = []
    for i in range(len(prices)):
        while True:
            if len(stack) == 0 or prices[i] >= prices[stack[-1]]:
                stack.append(i)
                break
            else:
                tmp = stack.pop(-1)
                answer[tmp] = i - tmp
    while len(stack) != 0:
        tmp = stack.pop(-1)
        answer[tmp] = len(prices) - tmp - 1
    return answer


This post is licensed under CC BY 4.0 by the author.

[알고리즘] 프로그래머스 - 프린터

[알고리즘] 프로그래머스 - 수식 최대화