https://school.programmers.co.kr/learn/courses/30/lessons/43165
#include <string>
#include <vector>
using namespace std;
int dfs(const vector<int>& numbers, const int& target, int order, int res, int answer) {
if (order >= numbers.size())
return (res == target) ? answer + 1 : answer;
answer = dfs(numbers, target, order + 1, res + numbers[order], answer);
answer = dfs(numbers, target, order + 1, res - numbers[order], answer);
return answer;
}
int solution(vector<int> numbers, int target) {
return dfs(numbers, target, 0, 0, 0);
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] (2022 KAKAO BLIND RECRUITMENT) Lv 2. k진수에서 소수 개수 구하기 (0) | 2023.06.26 |
---|---|
[Programmers] (해시) Lv 2. 전화번호 목록 (0) | 2023.06.26 |
[Programmers] (완전탐색) Lv 2. 피로도 (0) | 2023.06.16 |
[Programmers] (2018 KAKAO BLIND RECRUITMENT) Lv 2. [1차] 뉴스 클러스터링 (0) | 2023.06.16 |
[Programmers] (스택/큐) Lv 2. 프로세스 (0) | 2023.06.16 |
댓글