[python] 백준 1874번

hyeo71·2023년 5월 18일
0

백준

목록 보기
2/24

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

문제 : 스택 수열

  • 시간 제한 : 2초
  • 메모리 제한 : 128MB
  • 입력 제한 : 같은 정수가 두 번 나오는 일은 없다.

풀이

import sys

n = int(sys.stdin.readline())
cnt = 1
symbol = []  # +,-
stack = [0]
check = False

# 만들 수열
array = [int(sys.stdin.readline()) for _ in range(n)]

for i in array:
    if i < stack[-1]:
        check = True
        break

    while stack[-1] != i:
        stack.append(cnt)
        symbol.append("+")
        cnt += 1

    symbol.append("-")
    stack.pop()

if check == True:
    print("NO")
else:
    print("\n".join(symbol))

0개의 댓글