[프로그래머스] Lv2. 타겟 넘버- JavaScript

이상돈·2023년 4월 14일
0
post-thumbnail

문제분류 : 코팅테스트 연습

난이도 : Level 2

출처 : 프로그래머스 - 타겟 넘버

문제

제한사항

📌 내가 생각한 풀이

+1, -1을 재귀를 이용한 dfs로 계속 계산한다. depth가 length가 되면 종료하고, num이 target과 같은지 체크한다.

같으면 answer++ 다르면 return 0으로 종료한다.

function solution(numbers, target) {
    var answer = 0;
    //dfs 시작
    const dfs = (num, depth) =>{
        //만약 depth가 numbers.length만큼 반복했다면
        if(depth === numbers.length){
            num === target ? answer++ : null
            return 0;
        }else{
            //아직 반복하지않았다면 bfs다시 시작
            bfs(num+numbers[depth], depth+1);
            bfs(num-numbers[depth], depth+1);
        }
    }
    dfs(0,0)
    return answer;
}

📌 느낀점

재귀를 이용한 dfs문제이다. 기본적이지만 푸는 방법을 모르면 엄청 오래걸릴 것 이다. 꼭 dfs 방식을 익혀두도록 하자

profile
사람들의 더 나은 삶을 위한 개발자

0개의 댓글