https://programmers.co.kr/learn/courses/30/lessons/43165
class Solution {
static int answer = 0;
public int solution(int[] numbers, int target) {
dfs(numbers, target, 0, 0);
return answer;
}
public static void dfs(int[] numbers, int target, int sum, int idx) {
if (idx == numbers.length) {
if (sum == target) answer++;
return;
}
dfs(numbers, target, sum + numbers[idx], idx + 1);
dfs(numbers, target, sum - numbers[idx], idx + 1);
}
}
dfs를 활용하여 한 번은 더하고, 한 번은 빼주면서 호출해 주었다.
numbers.lenth에 도달했을 때 target과 같은 값이면 카운트해 주었다.