문제
https://www.acmicpc.net/problem/17298
코드
n=int(input())
array=list(map(int, input().split()))
answer=[-1]*n
#stack에 index를 넣어줌
stack=[]
stack.append(0)
for i in range(1,len(array)):
while stack and array[stack[-1]]<array[i]:
answer[stack.pop()]=array[i]
stack.append(i)
print(*answer)
'문제풀이 > 기타' 카테고리의 다른 글
[파이썬] [재귀] 백준 11729 하노이 탑 (0) | 2022.04.04 |
---|---|
[파이썬] [백트래킹] 백준 1629 곱셈 (0) | 2022.04.01 |
[파이썬] [백트래킹] 백준 9663 N-Queen (0) | 2022.03.24 |
[파이썬] [힙] 백준 2696 중앙값 구하기 (0) | 2022.03.10 |
[파이썬] [백트래킹] 백준 15650 N과 M(2) (0) | 2022.03.09 |