[lv2] 타겟 넘버

걸음걸음·2023년 3월 10일
0

문제 링크

  • 주어진 정수를 순서를 바꾸지 않고 더하거나 빼서 타겟 넘버로 만들기
  • 위 식이 성립하는 경우의 수 return

깊이/너비 우선 탐색

function solution(numbers, target) {
    let answer = 0;
    const length = numbers.length;
    
    const dfs = (depth, ac) => {
        if(depth < length) {
            dfs(depth + 1, ac + numbers[depth]);
            dfs(depth + 1, ac - numbers[depth]);   
        } else {
            if(ac === target) {
                answer++;
            }
        }
    }
    dfs(0, 0);
    return answer;
}
profile
꾸준히 나아가는 개발자입니다.

0개의 댓글