코딩테스트 문제풀이/프로그래머스

[프로그래머스] 고득점 Kit 깊이/너비 우선 탐색(DFS/BFS)

itaeiou 2022. 3. 14. 10:22
반응형

43165 타켓 넘버

https://programmers.co.kr/learn/courses/30/lessons/43165

 

코딩테스트 연습 - 타겟 넘버

n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수

programmers.co.kr

 

20220314 javascript 풀이

function solution(numbers, target) {
    var answer = 0;
    const len = numbers.length;
    const dfs = (value, n) => {
        if(n === len) {
            if(value === target) {
                answer++;
            }
        } else {
            dfs(value + numbers[n], n+1);
            dfs(value - numbers[n], n+1);
        }
    }
    
    dfs(0, 0);
    
    return answer;
}

 

 

 

반응형