문제 해설
- 모든 배열을 돌아다니면서 idx가 numbers의 count와 같아질때 sum의 값이 target랑 같다면 answer += 1 해준다.
 
import Foundation
var numSize = 0
var answer = 0
func dfs( _ idx: Int, _ sum: Int, _ target: Int, _ numbers: [Int]) {
    if idx == numSize {
        if sum == target {
            answer += 1
        }
        return
    }
    dfs(idx + 1, sum + numbers[idx], target, numbers)
    dfs(idx + 1, sum - numbers[idx], target, numbers)
}
func solution(_ numbers:[Int], _ target:Int) -> Int {
    numSize = numbers.count
    dfs(0, 0, target, numbers)
    return answer
}
print(solution([1,1,1,1,1], 3))
