1. 문제
https://programmers.co.kr/learn/courses/30/lessons/42584
2. 접근 방법
스택을 사용해서 접근했습니다
3. 코드
Python
def solution(prices):
N = len(prices)
answer = [0]*N
stack = []
for idx, price in enumerate(prices):
while stack and prices[stack[-1]] > price:
j = stack.pop()
answer[j] = idx-j
stack.append(idx)
for i in stack:
answer[i] = N-i-1
return answer
4. 마치며
'Algorithm > Python' 카테고리의 다른 글
[백준 11723] 집합 (1) | 2021.05.26 |
---|---|
[백준 10819] 차이를 최대로 (0) | 2021.05.25 |
[프로그래머스] 튜플 (0) | 2021.05.14 |
[백준 6603] 로또 (0) | 2021.05.11 |
[백준 10974] 모든 순열 (0) | 2021.05.10 |