💡문제접근
- 1 ~ N까지의 수들로 이루어진 수열과 스택 수열을 비교하여 만들 수 있으면 그 과정을 출력하고 만들 수 없다면 NO를 출력하는 방식을 택했지만 그 과정이 너무나 복잡하여 결국 포기하고 다른 방법을 찾았다.
💡코드(메모리 : 32212KB, 시간 : 184ms)
import sys
input = sys.stdin.readline
stack = []
result = []
flag = True
n = int(input())
cnt = 1
for _ in range(n):
num = int(input())
while True:
if cnt >= num:
stack.append(cnt)
result.append("+")
cnt += 1
else:
cnt += 1
if num == stack[-1]:
stack.pop()
result.append("-")
else:
flag = False
break
if flag:
for i in result:
print(i)
else:
print("NO")
💡소요시간 : 1h