[백준] 17298번 오큰수 ★

거북이·2023년 7월 7일
0

백준[골드4]

목록 보기
23/59
post-thumbnail

💡문제접근

  • 테스트케이스를 바탕으로 어떤 방식으로 코드를 작성해야할지 고민한 다음 코드로 옮겼다.
  • stack 스택을 사용해서 오큰수 조건에 맞도록 작성하면 된다.

💡코드(메모리 : 155576KB, 시간 : 1100ms)

import sys
input = sys.stdin.readline

N = int(input())
A = list(map(int, input().strip().split()))
stack = []
answer = [-1] * N

for i in range(N):
    while stack and A[stack[-1]] < A[i]:
        answer[stack.pop()] = A[i]
    stack.append(i)
print(*answer)

💡소요시간 : 44m

0개의 댓글