코딩테스트/프로그래머스

[레벨 2] 타겟 넘버

marmelo12 2021. 9. 30. 18:23
반응형
#include <iostream>
#include <string>
#include <vector>

using namespace std;
int res;
void DFS(vector<int>& numbers, int target, int sum, int count, int idx)
{
    
    if (sum == target && count == numbers.size())
    {
        ++res;
        return;
    }
    if (idx >= numbers.size())
        return;
    DFS(numbers, target, sum + numbers[idx], count + 1,idx + 1);
    DFS(numbers, target, sum - numbers[idx], count + 1,idx + 1);
}
int solution(vector<int> numbers, int target) {
    string k = "";
    DFS(numbers, target, 0, 0,0);

    return res;
}

 

반응형