본문 바로가기

Programmers/Level2

타겟 넘버

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