
😎풀이
backTracking
함수를 정의 한다.
1-1. 현재 수집된 nums
의 길이가 k
개 되었을 때 합계가 n
과 같다면, 정답 배열에 추가
1-2. 이전 추가된 수(start
) + 1 부터 9 이하의 수를 탐색하며 백트레킹 진행
- 초깃값을 입력하여
backTracking
실행
- 결괏값 반환
function combinationSum3(k: number, n: number): number[][] {
const result = []
function backTracking(nums: number[], start: number, sum: number) {
if(nums.length === k) {
if(sum === n) result.push([...nums])
return
}
for(let i = start + 1; i <= 9; i++) {
nums.push(i)
backTracking(nums, i, sum + i)
nums.pop()
}
}
backTracking([], 0, 0)
return result
};