function solution(numbers, target) {
let answer = 0;
const calculate = (result, idx) => {
if(idx === numbers.length){
result === target ? answer++ : null;
return;
}
calculate(result + numbers[idx], idx + 1);
calculate(result - numbers[idx], idx + 1);
}
calculate(0, 0);
return answer;
}
DFS로 풀었다.
DFS로 풀면 굉장히 쉬운 문제!
전에 인턴 기술면접에서 DFS 코드를 BFS로 바꿔보라고 했던 기억 때문에, 둘 다 적용해보려했으나.. 해당 문제의 경우에는 BFS 사용 시 최악의 경우로 빠진다고 한다.