제출 코드
- 사용 알고리즘 :
DFS
단순 DFS로 풀이가 가능한 범위라 생각하고 풀었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.*;
class Solution {
int N, tg, result=0;
int[] num;
void dfs(int n, int sum){
if(n==N){
if(sum==tg) result++;
return;
}
dfs(n+1, sum+num[n]);
dfs(n+1, sum-num[n]);
}
public int solution(int[] numbers, int target) {
tg = target;
N = numbers.length;
num = new int[N];
for(int i=0; i<N; i++) num[i] = numbers[i];
dfs(0, 0);
return result;
}
}