코딩/알고리즘 정답 or 풀이
[dfs] 프로그래머스 -가장 먼 노드 c++
금의야행
2021. 12. 31. 01:36
문제 링크:
간단 회고:
O | X | |
내가 직접 풀었나? | ✔ | |
다른 사람 풀이를 참고 하였나? |
✔ | |
어려웠나? | ✔ | |
푸는데 오래걸렸나? | ✔ |
✅✔
참고한 타 풀이
#include <vector>
using namespace std;
// 전역변수 answer
int answer = 0;
void get_target_number(vector<int> numbers, int target, int sum, int index){
//종료 조건
if (index == numbers.size()){
if (sum == target) {
answer++;
}
// 같지 않을때도 return
return;
}
//종료 조건이 만족되지않으면 계속 탐색
get_target_number(numbers, target, sum + numbers[index], index + 1);
get_target_number(numbers, target, sum - numbers[index], index + 1);
}
int solution(vector<int> numbers, int target) {
get_target_number(numbers, target, 0, 0);
return answer;
}