Algorithm/BOJ
[백준] 17298 오큰수 (파이썬 python)
YOONJELLY
2024. 3. 12. 11:35
문제 링크
https://www.acmicpc.net/problem/17298
17298번: 오큰수
첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다.
www.acmicpc.net
문제 풀이
앞서 포스팅한 옥상정원 꾸미기와 유사한 방법으로 해결할 수 있었습니다.
n = int(input())
nums = list(map(int, input().split()))
stack = []
result = []
for i in range(n - 1, -1, -1):
num = nums[i]
while stack and stack[-1] <= num:
stack.pop()
if not stack:
result.append(-1)
else:
result.append(stack[-1])
stack.append(num)
print(' '.join(str(result[i]) for i in range(n - 1, -1, -1)))