이 함수는 1에서 9까지의 숫자만 사용할 수 있고 각 조합은 고유한 숫자 집합이어야 한다는 점을 감안할 때 n이 되는 m개의 숫자 조합을 모두 찾아야 합니다.
예를 들어 - 입력이 -
인 경우const m = 3, n = 4;
그러면 출력은 다음과 같아야 합니다. -
const output = [ [1, 2, 4] ];
입력이 -
인 경우const m = 3, n = 9;
그러면 출력은 다음과 같아야 합니다. -
const output = [ [1, 2, 6], [1, 3, 5], ];
예시
이에 대한 코드는 -
const m = 3, n = 9;
const findSum = (m, n) => {
const search = (from, prefix, m, n) => {
if (m === 0 && n === 0) return res.push(prefix);
if (from > 9) return;
search(from + 1, prefix.concat(from), m − 1, n − from);
search(from + 1, prefix, m, n);
};
const res = [];
search(1, [], m, n);
return res;
};
console.log(findSum(m, n)); 출력
콘솔의 출력은 -
[ [ 1, 2, 6 ], [ 1, 3, 5 ], [ 2, 3, 4 ] ]