```
import java.io.;
import java.util.;
//DFS 문제이다. 끝 깊이에 들어갔을 때 해당 값을 확인하고 해당 함수를 벗어나게 한다.
class Solution {
static int answer = 0;
void dfs(int[] numbers, int target, int now, int depth) {
if(depth==numbers.length) {
if(now==target)
answer++;
return;
}
int number = numbers[depth];
dfs(numbers, target, now+number, depth+1);
dfs(numbers, target, now-number, depth+1);
}
public int solution(int[] numbers, int target) {
dfs(numbers,target,0,0);
return answer;
}
```
'문제풀이' 카테고리의 다른 글
[프로그래머스] 네트워크 Java (0) | 2021.04.13 |
---|---|
[프로그래머스] 섬 연결하기 Java (0) | 2021.04.13 |
[프로그래머스] 가장 먼 노드 Java (0) | 2021.04.12 |
[프로그래머스] 주식가격 Java (0) | 2021.04.12 |
[프로그래머스] 위장 Java (0) | 2021.04.12 |