[프로그래머스] 타겟 넘버 (java)

🔗 문제링크

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

👩🏻‍💻 코드

class Solution {
    static int answer = 0;

    public int solution(int[] numbers, int target) {
        dfs(numbers, target, 0, 0);
        return answer;
    }
    
    public static void dfs(int[] numbers, int target, int sum, int idx) {
        if (idx == numbers.length) {
            if (sum == target) answer++;
            return;
        }

        dfs(numbers, target, sum + numbers[idx], idx + 1);
        dfs(numbers, target, sum - numbers[idx], idx + 1);
    }
}

📝 정리

dfs를 활용하여 한 번은 더하고, 한 번은 빼주면서 호출해 주었다.
numbers.lenth에 도달했을 때 target과 같은 값이면 카운트해 주었다.

좋은 웹페이지 즐겨찾기