프로그래머스 타겟넘버

최성현·2021년 3월 8일
0
post-thumbnail

문제 링크

코드 설명

DFS를 이용하여 완전탐색하여 목표수가 나올때마다 카운트해주었다. 항상 방향탐색만하다가 기본기 문제를 풀어서 살짝 당황했다. 기본부터 다시하자!!

소스 코드

#include <string>
#include <vector>
#include<iostream>
using namespace std;

int answer = 0;
void dfs(vector<int> numbers,int cnt, int sum,int target) {
    if (cnt == numbers.size() ) {
        if(sum == target)       answer++;
        return;
    }
    
    
    
        dfs(numbers, cnt+1, sum + numbers[cnt], target);
        dfs(numbers, cnt+1, sum - numbers[cnt], target);
    
     

}
int solution(vector<int> numbers, int target) {
    
    dfs(numbers,0, 0,target);
    
    cout << answer;
    return answer;
}

int main() {
    solution({ 1,1,1,1,1 }, 3);


    return 0;
}
profile
후회없이

0개의 댓글