stack
list
list
를 사용하므로 stack
자료구조를 따로 제공하지 않는다.list.append(원소)
를 이용한다.list.pop()
을 이용한다.list
는 stack 자료구조와 동일하게 가장 나중에 들어온 자료가 가장 먼저 처리되는 LIFO 자료구조이다.list[-1]
처럼 index를 -1
로 설정한다.n = int(input())
count = 1 # 현재 스택에 몇 번째 숫자까지 들어가 있는지 표시
stack = []
result = []
for i in range(1, n + 1):
data = int(input())
while count <= data:
stack.append(count)
count += 1
result.append("+")
if stack[-1] == data: # 스택의 최상위 원소가 data와 같을 때에만 출력 가능
stack.pop()
result.append("-")
else: # 같지 않으면 불가능한 경우임
print("NO")
exit(0)
print("\n".join(result))