문제
문제풀이도 문제풀이지만 문제를 이해하는 데 더 시간을 썼던 문제.
1부터 n까지 오름차순으로 들어오는 숫자들을 차례대로 스택에 넣으며
주어진 수열과 비교하여 주어진 수열의 순서와 같이 pop해준다.
연산의 결과 스택이 비어있으면 주어진 수열과 같은 수열을 만들 수 있으므로 연산자를 출력하고,
그렇지 않은 경우는 'NO'를 출력하도록 하면 된다.
import sys
input = sys.stdin.readline
n = int(input())
s = []
for i in range(n):
s.append(int(input()))
stack = []
answer = []
count = 0
for i in range(1, n+1):
stack.append(i)
answer.append('+')
while stack[-1] == s[count]:
stack.pop()
answer.append('-')
count += 1
if not stack:
break
if not stack:
for i in range(len(answer)):
print(answer[i])
else:
print('NO')