접근 방법 : BFS, DFS
방법이 어렴풋이 떠오르긴 했지만 결과적으로는 실패
nonlocal은 정말 새로웠다.. 함수 안에 함수에서 그 상위 지역변수를 어떻게 써야 되는 지 궁금했는데 nonlocal.. 하나 배웠다.
def solution(numbers, target):
answer = 0
num_cnt = len(numbers)
def dfs(result, idx):
nonlocal answer
if idx == num_cnt:
if result == target:
answer += 1
return
else:
dfs(result + numbers[idx], idx + 1)
dfs(result - numbers[idx], idx + 1)
dfs(0, 0)
return answer