문제
N개의 원소로 구성된 자연수 집합이 주어지면,이 집합을 두 개의 부분집합으로 나누었을 때
두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력
풀이 과정
const solutionA = (numArray) => {
let answer = 'NO';
const total = numArray.reduce((acc, cur) => acc + cur, 0);
const length = numArray.length;
const subset = (level, sum) => {
if (level === length + 1) {
if (total - sum === sum) answer = 'YES';
} else {
const element = numArray[level];
subset(level + 1, sum + element);
subset(level + 1, sum);
}
};
subset(0, 0);
return answer;
};
const testA = solutionA([1, 3, 5, 6, 7, 10]);
console.log(testA);
틀린 부분이 있거나 보충해야 할 내용이 있다면 댓글이나 DM(sungstonemin)으로 알려주시면 감사하겠습니다😄