프로그래머스 타겟넘버 문제 ( DFS 알고리즘)

2025. 11. 3. 19:20·Coding Test/DFS

 

문제

 

#include <string>
#include <vector>

using namespace std;

void DFS(vector<int>& _Numbers, int _Target, int _Sum, int _iCount, int* _iResult)    
{
    
    if(_iCount == _Numbers.size())
    {
        if(_Sum == _Target)
        { 
            (*_iResult)++;             
        }
        return; 
    }
    
    int Sum_1 = _Sum +_Numbers[_iCount];
    int Sum_2 = _Sum -_Numbers[_iCount];

    DFS(_Numbers, _Target, Sum_1, _iCount+1, _iResult); 
    DFS(_Numbers, _Target, Sum_2, _iCount+1, _iResult); 
    
}


int solution(vector<int> numbers, int target) 
{

    int answer = 0;
    
    DFS(numbers, target, 0, 0, &answer);    
    
    return answer;
}

 

 

문제 접근 순서

 

1. 해당 문제를 처음 본 순간 각각의 경우의 수를 모두 생각해야 한다는 사고를 함.

 

2. 원래의 결과에서 다시 덧셈 , 뺄셈을 진행해야하고 모든 숫자를 다 사용해야 하므로 DFS 알고리즘이 생각났다. 

-> 즉 트리와 같이 내려가면서 계속적으로 모든 결과 값을 저장하면서 연산을 진행해야 했음. 

 

3. 재귀 함수를 통한 DFS 구현 

 

4. 결과값은 pointer를 통해 메모리 공유를 하여 구현함.

'Coding Test > DFS' 카테고리의 다른 글

백준 2630번 색종이 만들기 [DFS]  (0) 2026.02.13
프로그래머스 [Level2] 소수 찾기 [DFS]  (0) 2025.11.11
'Coding Test/DFS' 카테고리의 다른 글
  • 백준 2630번 색종이 만들기 [DFS]
  • 프로그래머스 [Level2] 소수 찾기 [DFS]
seonhwan2547
seonhwan2547
seonhwan2547 님의 블로그 입니다.
  • seonhwan2547
    seonhwan2547 님의 블로그
    seonhwan2547
  • 전체
    오늘
    어제
    • 분류 전체보기 (81) N
      • Unreal Project (18) N
        • Khazan 모작 프로젝트 (3) N
        • Unreal Study (10)
        • Blueprint (5)
      • Directx11 Project (11)
        • Thymesia 팀 프로젝트 (8)
        • Kaku Ancient Seal 개인 프로젝트 (2)
        • Thymesia Animation Tool 개발 (0)
      • Algorithm (6)
        • Binary_Search (2)
        • Greedy (1)
        • Dynamic Programming (1)
        • A-star (1)
      • Coding Test (31)
        • Brutal Force (2)
        • Sort (5)
        • DFS (3)
        • Binary_Search (4)
        • BFS (6)
        • Hash (2)
        • Dynamic Programming (6)
        • Greedy (1)
        • BackTracking (1)
        • Binary_Tree (1)
      • STL Container (1)
        • unorded_set (0)
        • priority_queue (1)
      • C++ 공부 및 몰랐던점 (8)
        • Smart pointer (1)
      • Visual Studio 설정관련 공부 (1)
      • Console Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 블로그 소개
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    hash
    blueprint
    CodingTest
    Unreal
    Unreal Engine
    Game Programming
    GameProgramming
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
seonhwan2547
프로그래머스 타겟넘버 문제 ( DFS 알고리즘)