[백준] 7490번 0 만들기

거북이·2023년 6월 28일
0

백준[골드5]

목록 보기
49/82
post-thumbnail

💡문제접근

  • 백트래킹을 이용하는 문제였다. 어떻게 풀어야할지는 알겠는데 오래 고민했던 문제였다.
  • 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

0개의 댓글