-
프로그래머스 Level2 - 타겟 넘버 C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 4. 6. 09:27반응형
#include <string> #include <vector> using namespace std; int answer = 0; void dfs(vector<int> numbers, int target, int i, int sum){ int n = numbers.size(); if(i >= n){ if(sum == target) answer++; return; } // 0부터 시작을 했으니 dfs(numbers, target, i+1, sum+numbers[i]); dfs(numbers, target, i+1, sum-numbers[i]); } int solution(vector<int> numbers, int target) { dfs(numbers, target, 0, 0); return answer; }
처음에는 큐를 이용한 bfs라고 착각했던 문제. 생각해보니 깊이로 뭔가를 얻는건 없고 트리를 끝까지 탐색해서 풀이하는게 목적이었다. 그래서 재귀를 이용한 DFS로 문제를 풀이했습니다.
반응형'쾌락없는 책임 (공부) > 알고리즘 문제풀이' 카테고리의 다른 글
프로그래머스 Level2 - 구명보트 C++ (0) 2021.04.08 프로그래머스 Level 1 - 체육복 C++ (0) 2021.04.07 프로그래머스 Level2 - 주식가격 C++ (0) 2021.04.05 백준 6198 옥상 정원 꾸미기 - C++ 스택 (0) 2021.04.04 백준 2437 저울 - C++ 그리디 알고리즘 (0) 2021.04.02