어제 처음 보고 문제 이해가 안 되었던 게 기억이 남.
그래서 그냥 아 내일 봐야지 하고 있다가 오늘 일어나서 문제를 보니 이해가 되었다. ㅋㅋㅋ 할많하않.. 그리고 stack을 이제부턴 그냥 list를 이용해서 할 거임. 마찬가지로 deque도 그냥 module 가져올 거임.
우선 스택 수열 인자가 주어지면 그 인자까지 포함시켜서 append를 해야겠다는 생각을 했음. 이 때 현재 어디까지 append 했는지 저장할 변수 a를 이용함. 첨에 if 와 for를 이용했는데 while을 쓰면 더 편하겠다는 것을 나중에 깨달음...
append 후에는 바로 pop을 해줘야함. 이때 조건으로 가장 위의 스택이 우리가 pop하려는 숫자와 같은지를 check함. 같으면 pop!
다르면 'NO'를 append하고 break를 진행했음.
n = int(input())
result = []
a = 1
data = []
for i in range(n):
card = int(input())
while a <= card:
result.append(a)
data.append('+')
a += 1
if card == result[-1]:
result.pop()
data.append('-')
else:
data.append('NO')
break
if data[-1] == 'NO':
print('NO')
else:
for i in range(len(data)):
print(data[i])