1주차-5 타겟 넘버

JeongChaeJin·2021년 2월 25일

문제

코드

// 타겟 넘버

#include <string>
#include <vector>
#include <iostream>

using namespace std;

void getSolutionNum(vector<int> v, int target, int sum, int start, int &result) {
	if (start == v.size()) {
		if (sum == target) {
			result++;
		}
		return;
	}

	getSolutionNum(v, target, sum + v[start], start + 1, result);
	getSolutionNum(v, target, sum - v[start], start + 1, result);

}

int solution(vector<int> numbers, int target) {
	int answer = 0;
	getSolutionNum(numbers, target, 0, 0, answer);

	return answer;
}

int main()
{
	cout << solution({ 1, 1, 1, 1, 1 }, 3) << endl; // 5
}
  • 주어진 배열의 갯수의 동일한 횟수로 뺄셈, 덧셈 각각을 진행한다.
  • 마지막 횟수에서 주어진 합(target)이 동일하면 횟수를 count 한다.
profile
OnePunchLotto

0개의 댓글