programmers
level2 타겟 넘버
문제 설명
#include <string>
#include <vector>
using namespace std;
int dfs(vector<int> nums, int tar, int cnt, int sum){
int target_reached = 0;
if(cnt != nums.size()-1){
target_reached+=dfs(nums, tar, cnt+1, sum+nums[cnt]);
target_reached+=dfs(nums, tar, cnt+1, sum-nums[cnt]);
}
else{
if(tar==sum+nums[cnt]) target_reached++;
else if(tar==sum-nums[cnt]) target_reached++;
}
return target_reached;
}
int solution(vector<int> numbers, int target) {
int answer = 0;
answer = dfs(numbers, target, 0, 0);
return answer;
}해결 과정
dfs를 이용하면 간단하게 해결할 수 있는 문제였다. 함수에 전달하는 인자에 대해 신경써서 segmentation fault가 나오지 않도록 주의해야겠다.
'baekjoon, programmers' 카테고리의 다른 글
| programmers 숫자 변환하기 (0) | 2024.09.02 |
|---|---|
| programmers 프로세스 (0) | 2024.07.26 |
| programmers 튜플 (0) | 2024.07.25 |
