- 재귀함수 사용
- 무턱대고 전부가 아니라 무엇을 재귀함수를 이용해 구할 것인가 생각해보며 풀면 좋다!
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 |
댓글