공부, 기록

백준 2493. 탑 파이썬(PYTHON) 본문

코딩

백준 2493. 탑 파이썬(PYTHON)

무는빼주세요 2020. 11. 14. 14:53

문제링크 : www.acmicpc.net/problem/2493

 

2493번: 탑

첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1

www.acmicpc.net

 

import sys
n = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
answer = [0 for _ in range(len(arr))]
stack = []

for i in range(len(arr)-1, -1, -1):
    while stack and arr[stack[-1]] < arr[i]:
        answer[stack.pop()] = i+1
    stack.append(i)
print(*answer)