백트레킹을 사용하여 풀이하는 문제이다.
고정된 길이가 있지 않기 때문에 가능한 모든 경우의 수를 입력하면 된다.
function subsets(nums: number[]): number[][] {
const result = []
function backTracking(num: number, cur: number[]) {
result.push([...cur])
for(let i = num; i < nums.length; i++) {
cur.push(nums[i])
backTracking(i + 1, cur)
cur.pop()
}
}
backTracking(0, [])
return result
};