코딩테스트 연습
깊이/너비 우선 탐색(DFS/BFS)
타겟 넘버
숫자 배열을 적절히 더하고 뺀 값이 target이 되는 방법의 수를 구하여라.
DFS를 이용하여 탐색을 하며 값을 계산.
function solution(numbers, target) {
var answer = 0;
let len=numbers.length;
const DFS=(L,sum)=>{
if(L===len){
if(sum===target){
answer++;
return;//생략 가능
}
}
else{
DFS(L+1,sum+numbers[L]);
DFS(L+1,sum-numbers[L]);
}
}
DFS(0,0)
return answer;
}
-----------230219 다시 풀어봄---------------
function solution(numbers, target) {
var answer = 0;
const DFS = (i, sum) => {
if (i === numbers.length) {
if (sum === target) {
answer++;
return;
}
return;
}
DFS(i + 1, sum + numbers[i]);
DFS(i + 1, sum - numbers[i]);
return;
};
DFS(0, 0);
return answer;
}