[Algorithm - Programmers] 타겟 넘버

nunu·2023년 12월 17일
0

Algorithm

목록 보기
112/142

https://school.programmers.co.kr/learn/courses/30/lessons/43165

제출 코드

class Solution {
    int tNum, limit, answer;
    public int solution(int[] numbers, int target) {
        answer = 0;
        int[] result = new int[numbers.length];
        limit = numbers.length;
        tNum = target;
        dfs(numbers, result, 0);
        return answer;
    }
    public void dfs (int[] numbers, int[] result, int depth){
        if (depth == limit) {
            int sum = 0;
            for (int i = 0; i < depth; i++) {
                if (result[i] == 0) {
                    sum += numbers[i];
                }
                else {
                    sum += (-1 * numbers[i]);
                }
            }
            if (sum == tNum) {
                answer++;
            }
            return;
        }

        for (int i = 0; i < 2; i++) {
            result[depth] = i;
            dfs(numbers, result, depth + 1);
        }
    }
}
profile
Hello, I'm nunu

0개의 댓글