티스토리 뷰

이진 트리 탐색이 생소해서 처음부터 다른 사람 풀이를 참조했다.
문제 풀이는 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함