https://programmers.co.kr/learn/courses/30/lessons/43165
+
, -
를 사용해서 target 넘버도 주어진 숫자와 같은 경우의 수를 구하는 문제이다.+
, -
일때 모든 경우의 수를 구하면 다음과 같다.def solution(numbers, target):
answer = dfs(0, numbers, target)
return answer
def dfs(step, numbers, target):
answer = 0
if step == len(numbers):
if sum(numbers) == target:
return 1
else:
return 0
else:
answer = answer + dfs(step + 1, numbers, target)
numbers[step] = - numbers[step]
answer = answer + dfs(step + 1, numbers, target)
return answer