[백준] 7490번 0 만들기 - 파이썬/문자열, 브루트포스

JinUk Lee·2023년 2월 3일
0

백준 알고리즘

목록 보기
37/78

https://www.acmicpc.net/problem/7490

from itertools import product

T = int(input())

for t in range(T):


    N = int(input())

    graph = [ i for i in range(1,N+1)]

    B = [' ','+','-']

    B_Per = list(product(B,repeat = N-1))


    for i in B_Per:
        ans = str(graph[0])

        for j in range(len(i)):
            if i[j]=='+' or i[j]=='-':
                ans += i[j]
            else:
                ans += ''
            ans += str(graph[j+1])

        check_num = eval(ans)

        if check_num == 0:

            for k in range(len(i)):
                print(graph[k],end='')
                print(i[k], end='')
            print(graph[-1])

    print()

연산해야되는 숫자가 작아서 중복순열을 이용해 풀었다.

eval() 함수는 괄호에 오는 문자열을 숫자처럼 계산해주는 함수이다.

profile
개발자 지망생

0개의 댓글