[프로그래머스] 코딩테스트 연습 - 깊이/너비 우선 탐색(DFS/BFS) Level 2 타겟 넘버

uoahy·2021년 9월 16일
0

Solution.java

class Solution {
    public int solution(int[] numbers, int target) {
        int answer = 0;
        
        answer = dfs(0, numbers, target);
        
        return answer;
    }
    
    public int dfs(int d, int[] numbers, int target) {
        if (d == numbers.length) {
            if (target == 0) return 1;
            else return 0;
        }
        
        return dfs(d + 1, numbers, target + numbers[d]) + dfs(d + 1, numbers, target - numbers[d]);
    }
}

DFS 알고리즘을 이용하면 쉽게 풀 수 있는 문제였다.

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

0개의 댓글