https://school.programmers.co.kr/learn/courses/30/lessons/43165
+num
시키는 함수, -num
시키는 함수 두 개를 독립적으로 돌리거나, 두 개의 결과를 합해서 진행하는 로직을 수행할 수 있다global answer # 여기에 global을 붙일 필요가 없다
answer = 0
def calc(i, target, numbers, num):
global answer
if i > len(numbers) - 1:
if num == target:
answer += 1
return answer
num_p = num + numbers[i]
num_m = num - numbers[i]
calc(i+1, target, numbers, num_p)
calc(i+1, target, numbers, num_m)
def solution(numbers, target):
calc(0, target, numbers, 0)
global answer
return answer
def solution(numbers, target):
if not numbers and target == 0 :
return 1
elif not numbers:
return 0
else:
return solution(numbers[1:], target-numbers[0]) + solution(numbers[1:], target+numbers[0])