Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

Study

프로그래머스-타겟넘버 본문

알고리즘/C++ 문제풀이

프로그래머스-타겟넘버

^_^? 2021. 7. 20. 16:28
 

코딩테스트 연습 - 타겟 넘버

n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+

programmers.co.kr

 

 

<풀이>

더보기

#include <string>
#include <vector>

using namespace std;
int answer = 0;

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

 

 

-참고한 사이트

https://ansohxxn.github.io/programmers/kit27/

https://seoftware.tistory.com/3