-
[알고리즘] Level2 ) 타겟넘버 C++ 구현 ( DFS 이용 )IT&컴퓨터공학/자료구조&알고리즘 2021. 1. 7. 22:57
#include <string> #include <vector> #include <iostream> using namespace std; int answer = 0; void dfs(int index, int sum , int target , vector<int> numbers) { if (index == numbers.size()) { // numbers 의 마지막 원소까지 간 경우 if (sum == target) { // sum 이 target 과 같으면 answer++; } return; } dfs(index+1, sum+numbers[index], target, numbers); // 더하는쪽으로 dfs(index+1, sum-numbers[index], target, numbers); // 빼는쪽으로 } int solution(vector<int> numbers, int target) { answer = 0; dfs(0, 0, target, numbers); return answer; } void main() { vector<int> numbers = { 1,2,3,4,5 }; int target = 5; cout << solution(numbers, target) << endl; }
'IT&컴퓨터공학 > 자료구조&알고리즘' 카테고리의 다른 글
[알고리즘] Level 2 ) 가장 큰수 - C++ (0) 2021.01.09 [알고리즘]C++로 구현한 bfs (0) 2021.01.09 [알고리즘] C++ 로 구현한 DFS 알고리즘 (2) 2021.01.07 [13] 심화 정렬 ( SORT ) - Heap Sort (0) 2020.07.05 [12] 심화 정렬 ( SORT ) - Quick Sort (0) 2020.06.28 댓글