프로그래머스/프로그래머스 Lv2

[C#]프로그래머스/타겟 넘버/DFS

ENUM01 2023. 4. 25. 01:03

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
27
public class Solution
{
    private int answer = 0;
 
    public int solution(int[] numbers, int target)
    {
        DFS(0-1, numbers, target);
        return answer;
    }
 
    private void DFS(int sum, int index, int[] numbers, int target)
    {
        //꼭 배열을 다 순회해야한다.
        if (index + 1 >= numbers.Length)
        {
            if (sum == target)
                answer++;
 
            return;
        }
 
        index++;
 
        DFS(sum + numbers[index], index, numbers, target);
        DFS(sum - numbers[index], index, numbers, target);
    }
}
cs