첫 시도
- 배열크기가 20까지, +,- 두 가지 연산이 필요하므로 2^20 → 10^6
- 단순하게 브루트 포스로 해결 가능
- 백준과 답안작성 방법이 달라 꽤나 고생, 적응에 시간이 걸릴듯
해결
- 내용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
int[] numbers;
int target;
int answer;
void dfs(int index, int sum){
if(index == numbers.length){
if(sum == target) answer++;
return;
}
dfs(index+1, sum+numbers[index]);
dfs(index+1, sum-numbers[index]);
}
public int solution(int[] numbers, int target) {
answer = 0;
this.numbers = numbers;
this.target = target;
dfs(0,0);
return answer;
}
}