funcsolution(_numbers:[Int], _target:Int) -> Int {
var count =0funcDFS(index: Int, sum: Int) {
if index == (numbers.count -1) && sum == target { // 마지막 인덱스까지 모두 계산한 값이 target과 같다면
count +=1// count를 +1해주고return// 더 이상 계산할 값이 없으므로(자식노드가 없으므로) return 해준다
}
guard index +1< numbers.count else { return }
DFS(index: index+1, sum: sum + numbers[index +1]) // +자식 노드 실행DFS(index: index+1, sum: sum - numbers[index +1]) // -자식 노드 실행
}
DFS(index: -1, sum: 0)
return count
}