프로그래머스 타겟넘버 c++

2023. 10. 26. 13:41알고리즘

#include <string>
#include <vector>

using namespace std;

int Target;
int Answer;
vector<int> Numbers;

void dfs(int cnt, int curr) {
    if (cnt >= Numbers.size()) {
        if (curr == Target) {
            Answer++;
        }
        return;
    }
    dfs(cnt + 1, curr + Numbers[cnt]);
    dfs(cnt + 1, curr - Numbers[cnt]);
}

int solution(vector<int> numbers, int target) {
    int answer = 0;
    Target = target;
    Numbers = numbers;
    dfs(0, 0);
    answer = Answer;
    return answer;
}

int main(void) {
    vector<int> numbers = { 4,1,2,1 };
    int target = 4;
    solution(numbers, target);
    return 0;
}