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

EUN JY·2022년 3월 22일
1

Coding Test

목록 보기
9/9

아까 푼거랑 느낌이 비슷해서 하나 더 해봄...

class Solution {   
    
    private int answer = 0;
    private int[] numbers = null;
    private int target = 0;
    
    public int solution(int[] numbersVal, int targetVal) {
        numbers = numbersVal;
        target = targetVal;
        
        calc(0, 0);
        
        return answer;
    }
    
    public void calc(int sum, int idx) {
        if (idx == numbers.length) {
            if (sum == target) {
                answer++;
            }
            return;
        }
        
        // 더하고 빼서 타겟 넘버를 만들기
        calc(sum + numbers[idx], idx + 1);
        calc(sum - numbers[idx], idx + 1);
    }
}
profile
개린이

0개의 댓글