https://www.acmicpc.net/problem/17298
시간 1초, 메모리 512MB
input :
output :
조건 :
BOJ 2493 탑 문제의 반대 방향에서 출발하는 경우와 동일하다.
시작을 n - 1에서부터 0까지 돌아가며, temp 인 스택을 확인 하는 방식으로 진행한다.
import sys
n = int(sys.stdin.readline())
data = list(map(int, sys.stdin.readline().split()))
temp = [0]
# 마지막에 reverse 해주기
ans = []
for i in range(n - 1, -1, -1):
num = data[i]
flag = 0
while temp:
compare = temp.pop()
if num < compare:
flag = 1
ans.append(compare)
temp.append(compare)
break
if not flag:
ans.append(-1)
temp.append(num)
ans.reverse()
for item in ans:
print(item, end=" ")