💡문제접근
- 백트래킹을 이용하는 문제였다. 어떻게 풀어야할지는 알겠는데 오래 고민했던 문제였다.
- ASCII 코드 순서에 따라서 맞게 출력해야하는데 그 부분을 간과해 게속 WA를 받았다.
💡코드(메모리 : 32276KB, 시간 : 220ms)
import copy
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**6)
def recursive(lst, n):
if len(lst) == n:
operator.append(copy.deepcopy(lst))
return
lst.append(" ")
recursive(lst, n)
lst.pop()
lst.append("+")
recursive(lst, n)
lst.pop()
lst.append("-")
recursive(lst, n)
lst.pop()
T = int(input())
for _ in range(T):
operator = []
N = int(input())
recursive([], N-1)
for op in operator:
result = ""
for i in range(N-1):
result += str(i+1) + str(op[i])
result += str(N)
if (eval(result.replace(" ", ""))) == 0:
print(result)
print()
💡소요시간 : 50m