Algorithm π§π»π»/νλ‘κ·Έλλ¨Έμ€(Programmers)
[c++] νλ‘κ·Έλλ¨Έμ€ - νκ² λλ²( Level 2)
dkswnkk
2021. 10. 23. 22:44
λ¬Έμ
μ½λ©ν μ€νΈ μ°μ΅ - νκ² λλ²
nκ°μ μμ΄ μλ μ μλ€μ΄ μμ΅λλ€. μ΄ μ μλ€μ μμλ₯Ό λ°κΎΈμ§ μκ³ μ μ ν λνκ±°λ λΉΌμ νκ² λλ²λ₯Ό λ§λ€λ €κ³ ν©λλ€. μλ₯Ό λ€μ΄ [1, 1, 1, 1, 1]λ‘ μ«μ 3μ λ§λ€λ €λ©΄ λ€μ λ€μ― λ°©λ²μ μΈ μ
programmers.co.kr
μ½λ
#include <string>
#include <vector>
using namespace std;
int sum,targets,answer;
void dfs(const vector<int>&numbers, int index, int sum){
if(index<numbers.size()){
dfs(numbers,index+1,sum+numbers[index]);
dfs(numbers,index+1,sum-numbers[index]);
}
else{
if(targets==sum)answer++;
return;
}
}
int solution(vector<int> numbers, int target) {
targets=target;
dfs(numbers,0,sum);
return answer;
}