💡 무의미한 메모리 사용을 줄이자!!

import sys
input = sys.stdin.readline
n = int(input())
curr = 1
stack = []
ans = []
for _ in range(n):
seq = int(input())
while curr <= seq:
stack.append(curr)
ans.append('+')
curr += 1
if stack[-1] == seq:
stack.pop()
ans.append('-')
else:
print("NO")
exit()
for j in ans:
print(j)
- 문제를 풀면서 접근법과 문제 이해는 빨리 되었지만, 이상하게 어떻게 풀어야 할지가 고민이었다.
- 처음에는 seq를 배열로 선언을 먼저하여 값을 다 받고 index를 늘려가면서 비교하였지만 생각해보니 그럴 필요가 없었다.
- 결국 이 문제는 문제의 요지를 얼마나 빨리 이해하는지가 중요했던거 같다.
- 입력 받는 수까지 append를 받고, 가장 마지막 수와 입력받은 수가 같아야지만 원하는 수열을 만들수 있고 그렇지 못하면 만들수 없다.