n=int(input())
sta=[] #스택 배열
cnt=1 # 입력하려는 수보다 작은 숫자(증가)
result=[] # +/-를 저장할 배열
status=True # 스택이 만들어질 수 없을 때, 즉 NO일 때를 판별하기 위한 boolean값
for i in range(n):
num=int(input())
while cnt<=num:
sta.append(cnt)
result.append('+')
cnt+=1
if sta[-1]==num:
sta.pop()
result.append('-')
else:
print('NO')
status=False
break
if status:
for i in result:
print(i)
문제를 이해하는데 오래걸렸다.
접근방법
sta=[1,2,3]
sta=[1,2,3,4]
=>
sta=[1,2,3]
sta=[1,2]
sta=[1,2,5,6]
=>
sta=[1,2,5]