728x90
출처: 프로그래머스
https://programmers.co.kr/learn/courses/30/lessons/43165?language=cpp
#include <string>
#include <vector>
using namespace std;
int answer = 0;
void dfs(vector<int> numbers, int target, int total, int index){
if (index == numbers.size()){
if (total == target){
answer ++ ;
}
return;
}
dfs(numbers, target, total + numbers[index], index + 1);
dfs(numbers, target, total - numbers[index], index + 1);
}
int solution(vector<int> numbers, int target) {
dfs(numbers, target, numbers[0], 1);
dfs(numbers, target, -numbers[0], 1);
return answer;
}
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 단어 변환 c++ (*) (0) | 2022.03.19 |
---|---|
[프로그래머스] 네트워크 c++ (0) | 2022.03.18 |
[프로그래머스] 카펫 c++ (0) | 2022.03.17 |
[프로그래머스] 소수 찾기 c++ (0) | 2022.03.17 |
[프로그래머스] 모의고사 c++ (0) | 2022.03.17 |