본문 바로가기
> 알고리즘 문제 풀이/BOJ

7490-0 만들기 (python)

by bky373 2020. 10. 11.

- 재귀함수 사용
- 무턱대고 전부가 아니라 무엇을 재귀함수를 이용해 구할 것인가 생각해보며 풀면 좋다!

import copy

def recursive(array, n):
    if len(array) == n:
        operators_list.append(copy.deepcopy(array))
        return
    
    array.append(' ')
    recursive(array, n)
    array.pop()

    array.append('+')
    recursive(array, n)
    array.pop()

    array.append('-')
    recursive(array, n)
    array.pop()

tc = int(input())
for _ in range(tc):
    operators_list = []
    n = int(input())
    recursive([], n-1)
    
    nums = [ x for x in range(1, n+1) ]

    for operators in operators_list:
        exp = ""
        for x in range(n-1):
            exp += str(nums[x]) + operators[x]
        exp += str(nums[-1])
        if eval(exp.replace(" ","")) == 0:
            print(exp)
    print()

 

'> 알고리즘 문제 풀이 > BOJ' 카테고리의 다른 글

2751-수 정렬하기 2 (python)  (0) 2020.10.12
4195-친구 네트워크 (python)  (0) 2020.10.12
2747-피보나치 수 (python)  (0) 2020.10.11
10989-수 정렬하기 3 (python)  (0) 2020.10.11
11650-좌표 정렬하기 (python)  (0) 2020.10.11

댓글