N = int(input())
As = list(map(int, input().split()))
res, stack = [-1]*N, [0]
for i in range(1, N):
while stack and As[stack[-1]] < As[i]:
# stack을 인덱스만 저장하는 용도로 씀
res[stack.pop()] = As[i]
stack.append(i)
print(*res)
결국 검색찬스 첨에 이중포문돌려서 풀었는데 시간제한을 보니까 1초인것이다... 아니 최대 백만개 들온다는데...
그렇게 쫄아서 제출도 못하고 다른방법 생각해보다가 어떻게 스택을 쓰지,,? 고민만 몇분.. 결국 검색찬스씀
스택을 이중 for를 대체하기 위해서 쓰는 방법이다
이런생각은 못해봐서 또 배워감여
기록 위해 오랜만에 블로그 쓰기~~