https://www.acmicpc.net/problem/17298


유튜브: 알고리즘 코딩테스트 문제풀이 강의 - 12 오큰수 구하기 (백준 17298)
import sys
n = int(input())
A = list(map(int, sys.stdin.readline().split()))
answer = [-1] * n
stack = []
for i in range(n):
while stack and A[stack[-1]] < A[i]:
answer[stack.pop()] = A[i]
stack.append(i)
print(*answer)
수열의 값이 아닌 인덱스를 저장하는 것. 진짜 색다른 풀이법이다.