https://school.programmers.co.kr/learn/courses/30/lessons/43165
#include <string>
#include <vector>
using namespace std;
int answer = 0;
void dfs(const vector<int>& numbers, const int& target, int sum, int cnt)
{
if (numbers.size() == cnt)
{
if (target == sum) ++answer;
return;
}
dfs(numbers, target, sum - numbers[cnt], cnt + 1);
dfs(numbers, target, sum + numbers[cnt], cnt + 1);
}
int solution(vector<int> numbers, int target) {
//24.10.29
dfs(numbers, target, 0, 0);
return answer;
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] (깊이/너비 우선 탐색(DFS/BFS)) Lv 2. 타겟 넘버 (0) | 2024.12.22 |
---|---|
[Programmers] (그리디 or 완전탐색) Lv 2. 마법의 엘리베이터 (0) | 2024.12.18 |
[Programmers] (동적계획법(Dynamic Programming)) Lv 3. N으로 표현 (0) | 2024.10.26 |
[Programmers] (깊이/너비 우선 탐색(DFS/BFS)) Lv 3. 네트워크 (2) | 2024.10.23 |
[Programmers] (완전탐색) Lv 2. 피로도 (3) | 2024.10.23 |
댓글