알고리즘
[프로그래머스-dfs] 타겟넘버
제이G
2022. 7. 2. 12:36
class Solution {
static int answer=0;
public int solution(int[] numbers, int target) {
int sum = 0;
dfs(numbers, target, sum, 0);
return answer;
}
static void dfs(int[] numbers, int target, int sum, int depth) {
//base case
if (depth == numbers.length) {
if (sum == target) {
answer ++;
}
} else {
//rercursive case
dfs(numbers, target, sum + numbers[depth], depth+1);
dfs(numbers, target, sum - numbers[depth], depth+1);
}
}
}