[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 타겟 넘버

2026. 7. 7. 14:24·알고리즘 & 자료구조/문제 풀이

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

프로그래머스 타겟 넘버 풀이

이 문제는 각 숫자 앞에 + 또는 -를 붙여서 target 값을 만들 수 있는 경우의 수를 구하는 문제다.

각 숫자마다 선택지는 두 가지다.

  • 현재 숫자를 더한다.
  • 현재 숫자를 뺀다.

따라서 DFS를 사용해 모든 경우를 탐색한다.
index는 현재 몇 번째 숫자를 보고 있는지 나타내고, sum은 지금까지 계산한 합을 의미한다.

모든 숫자를 다 사용했을 때 sum == target이면 정답 개수를 1 증가시킨다.

즉, 이 문제는 + / - 선택을 끝까지 탐색하는 DFS 완전탐색 문제다.


 

정답 코드

class Solution {
    
    int ans = 0;
    
    public int solution(int[] numbers, int target) {
        dfs(0, 0, numbers, target);
        return ans;
    }
    
    private void dfs(int index, int sum, int[] numbers, int target) {
        if(index == numbers.length) {
            if(sum == target) {
                ans++;
            }
            return;
        }
        
        dfs(index + 1, sum + numbers[index], numbers, target);
        dfs(index + 1, sum - numbers[index], numbers, target);
    }
}

 

저작자표시 비영리 변경금지 (새창열림)

'알고리즘 & 자료구조 > 문제 풀이' 카테고리의 다른 글

[프로그래머스 알고리즘 고득점 Kit][완전탐색][Java] 소수 찾기  (0) 2026.07.07
[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 퍼즐 조각 채우기  (0) 2026.07.06
[프로그래머스 알고리즘 고득점 Kit][스택/큐][Java] 프로세스  (0) 2026.07.06
[프로그래머스 알고리즘 고득점 Kit][힙(Heap)][Java] 이중우선순위큐  (0) 2026.06.10
[프로그래머스 알고리즘 고득점 Kit][정렬][Java] H-Index  (0) 2026.05.26
'알고리즘 & 자료구조/문제 풀이' 카테고리의 다른 글
  • [프로그래머스 알고리즘 고득점 Kit][완전탐색][Java] 소수 찾기
  • [프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 퍼즐 조각 채우기
  • [프로그래머스 알고리즘 고득점 Kit][스택/큐][Java] 프로세스
  • [프로그래머스 알고리즘 고득점 Kit][힙(Heap)][Java] 이중우선순위큐
수수다
수수다
우하하
  • 수수다
    그냥살자
    수수다
  • 전체
    오늘
    어제
    • 분류 전체보기 (72) N
      • 프로젝트 (1)
      • 알고리즘 & 자료구조 (38) N
        • 내용 정리 (2)
        • 문제 풀이 (36) N
      • 데이터베이스 (28) N
        • 내용 정리 (1)
        • 문제 풀이 (27) N
      • CS (2)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 네이버 블로그
  • 공지사항

  • 인기 글

  • 태그

    이분탐색
    분리집합
    코딩테스트
    mysql
    IFNULL
    dfs
    like
    블럭비교
    유니온파인드
    바이브코딩
    Round
    삼성청년SW·AI아카데미
    깊이/너비 우선 탐색(DFS/BFS)
    코테
    DP
    알고리즘
    코팅테스트
    동적계획법
    그래프
    AVG
    정렬
    프로그래머스 알고리즘 고득점 kit
    프로그래머스
    coalesce
    코딭테스트
    해시
    bfs
    Java
    SQL
    date_format
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
수수다
[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 타겟 넘버
상단으로

티스토리툴바