티스토리 뷰
이진 트리 탐색이 생소해서 처음부터 다른 사람 풀이를 참조했다.
문제 풀이는 https://velog.io/@euneun/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%ED%83%80%EA%B2%9F%EB%84%98%EB%B2%84C-BFSDFS 이분 걸 참조함.
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int answer = 0;
void dfs(int sum, int depth, vector<int> numbers, int target) {
if(depth == numbers.size()) {
if(sum == target)
answer++;
return;
}
dfs(sum+numbers[depth], depth+1, numbers, target);
dfs(sum-numbers[depth], depth+1, numbers, target);
}
int solution(vector<int> numbers, int target) {
dfs(0, 0, numbers, target);
return answer;
}
재귀함수.. 어려운듯 쉬운듯한
이건 한 이주뒤 다시 풀어봐야겠음. 일주 뒤도 상세코드 생각이 날것같아서
'■ 알고리즘 > ◻ Programmers' 카테고리의 다른 글
| [C++]게임 맵 최단거리 (0) | 2022.11.21 |
|---|---|
| [C++] 네트워크 (0) | 2022.11.15 |
| [C++] 피로도 (0) | 2022.11.15 |
| [C++] 카펫 (0) | 2022.11.15 |
| [C++]베스트 앨범 (0) | 2022.11.14 |