[프로그래머스, Java] 타겟 넘버

2025. 8. 28. 23:54·CodingTest/Programmers

사진을 클릭하면 해당 문제로 이동

⭐ 아이디어

💡풀이 1

- 재귀 풀이

class Solution {
    public int solution(int[] numbers, int target) {
        return sumCount(numbers, target, 0, 0);
    }

    int sumCount(int[] numbers, int target, int index, int sum) {

        if(index == numbers.length) {
            if(sum == target) {
                return 1;
            }
            return 0;
        }

        return sumCount(numbers, target, index + 1, sum + numbers[index])
               + sumCount(numbers, target, index + 1, sum - numbers[index]);
    }
}

💡풀이 2

- 재귀 없이 dfs 풀이

import java.util.ArrayDeque;
import java.util.Deque;

class Solution {
    public int solution(int[] numbers, int target) {
        int answer = 0;

        Deque<int[]> stack = new ArrayDeque<>();
        stack.push(new int[]{0, 0}); // sum, index

        while(!stack.isEmpty()) {
            int[] current = stack.pop();
            int sum = current[0];
            int index = current[1];

            if(index == numbers.length) {
                if(sum == target) {
                    answer++;
                }
            } else {
                stack.push(new int[]{sum + numbers[index], index + 1});
                stack.push(new int[]{sum - numbers[index], index + 1});
            }
        }

        return answer;
    }
}

 

 

GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.

프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.

github.com

 

'CodingTest > Programmers' 카테고리의 다른 글

[프로그래머스, Java] 단어 변환  (0) 2025.08.28
[프로그래머스, Java] 게임 맵 최단거리  (0) 2025.08.26
[프로그래머스, Java] 네트워크  (0) 2025.08.26
[프로그래머스, Java] 의상  (0) 2025.08.19
[프로그래머스, Java] 달리기 경주  (0) 2025.07.29
'CodingTest/Programmers' 카테고리의 다른 글
  • [프로그래머스, Java] 단어 변환
  • [프로그래머스, Java] 게임 맵 최단거리
  • [프로그래머스, Java] 네트워크
  • [프로그래머스, Java] 의상
devoks
devoks
꾸준히 작성해보자!
  • devoks
    ok's 개발 블로그
    devoks
  • 전체
    오늘
    어제
    • 분류 전체보기 (121)
      • Backend (17)
        • SpringBoot (0)
        • Java (17)
      • Cs (20)
      • Infra (0)
        • AWS (0)
        • Docker (0)
      • CodingTest (84)
        • Programmers (84)
  • 링크

    • My GitHub
  • 인기 글

  • 태그

    BFS
    programmers
    dfs
    BufferedWriter
    java
    effectivejava
    switch
    CS
    codingtest
    BufferedReader
  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
devoks
[프로그래머스, Java] 타겟 넘버
상단으로

티스토리툴바