알고리즘 풀이/프로그래머스

[프로그래머스][JAVA] 타겟넘버 (DFS)

배게 2022. 3. 17. 20:32
728x90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {    
    public int solution(int[] numbers, int target) {
        return DFS(numbers, target, 00);
    }
    
    public int DFS(int[] numbers, int target, int preOrder, int total){
        if(preOrder == numbers.length){
            // System.out.println(preOrder+" "+total);
            if(total==target)
                return 1;
            else 
                return 0;
        }
 
        return DFS(numbers, target, preOrder+1, total+numbers[preOrder])+
                DFS(numbers, target, preOrder+1, total-numbers[preOrder]);
          
    }
}
cs