codingTest
[프로그래머스] 타겟 넘버 - DFS
에밀오구
2023. 5. 3. 23:54
function solution(numbers, target) {
let count = 0;
function dfs(result, depth) {
if (depth === numbers.length) {
if (result === target) count += 1;
} else {
dfs(result - numbers[depth], depth + 1);
dfs(result + numbers[depth], depth + 1);
}
}
// result, depth
dfs(0, 0);
return count;
}
function solution(numbers, target) {
let count = 0;
function dfs(result, depth) { // 0 0
if (depth === numbers.length) { //끝까지 내려간 것
if (result === target) count += 1; //끝의 값이 target 과 같으면 카운트
} else {
dfs(result - numbers[depth], depth + 1);//dfs(0-첫번째값,2)
dfs(result + numbers[depth], depth + 1);//dfs(0+첫번째값,2)
}
}
// result, depth
dfs(0, 0);
return count;
}