DFS 탐색하면서 끝까지 간 다음 타겟 넘버가 만들어지면 결과 +1
function solution(numbers, target) {
let result = 0;
const dfs = (sum, i) => {
if (i === numbers.length) {
if (sum === target) ++result;
return;
}
dfs(sum + numbers[i], i + 1);
dfs(sum - numbers[i], i + 1);
};
dfs(0, 0);
return result;
}
문제 분류가 DFS/BFS로 되어 있길래 구름톤에서 계속 풀던 방법대로 하려다 도저히 안 돼서 힌트를 참고했다. 재귀를 왜 생각 못했을까..