본문 바로가기
정리/알고리즘

DFS/BFS - 타겟 넘버

by Hudini30 2022. 3. 10.

프로그래머스 (DFS/BFS) - 타겟넘버

해당 문제는 해당 깊이의 원소의 타겟을 우항으로 넘겨 새로운 타겟넘버를 생성하는 식으로 최종 깊이에서 결과가 0인 경우 1을 return하도록 하는 재귀를 통해 문제를 풀었습니다.

    public int solution(int[] numbers, int target) {
        return calculate(numbers, 0, target);
    }

    private int calculate(int[] numbers, int depth, int target) {
        if (numbers.length == depth) {
            return target == 0 ? 1 : 0;
        }

        int newPlusTarget = target + numbers[depth];
        int newMinusTarget = target - numbers[depth];

        return calculate(numbers, depth + 1, newPlusTarget) + calculate(numbers, depth + 1, newMinusTarget);
    }

'정리 > 알고리즘' 카테고리의 다른 글

이분탐색 - 입국심사  (0) 2022.03.14
DFS - 여행경로  (0) 2022.03.11
DP - 도둑질  (0) 2022.03.09
DP - 등굣길  (0) 2022.03.08
DP - 정수 삼각형  (0) 2022.03.07

댓글