1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
class Solution {
public int TargetDFS(int[] num, int i, int target, int value) {
// 마지막 배열을 입력했을 때
if (i == num.length - 1) {
if (value == target)
return 1;
else
return 0;
} else {
return TargetDFS(num, i + 1, target, value + num[i + 1]) + TargetDFS(num, i + 1, target, value - num[i + 1]);
}
}
public int solution(int[] numbers, int target) {
int answer = 0;
answer = TargetDFS(numbers, 0, target, numbers[0]) + TargetDFS(numbers, 0, target, -numbers[0]);
return answer;
}
}
|
cs |
더했을 경우, 뺐을 경우를 나눠서 DFS 탐색을 수행하였다.
'Programmers > Level2' 카테고리의 다른 글
가장 큰 수 (0) | 2021.07.13 |
---|---|
더 맵게 (0) | 2021.07.12 |
카카오프렌즈 컬러링북 (0) | 2021.07.11 |
문자열 압축 (0) | 2021.07.10 |
[1차] 뉴스 클러스터링 (0) | 2021.07.09 |