Leetcode [Medium] 299665 - Subsets
LeetCode 299665
Subsets
문제
Given a set of distinct integers, nums, return all possible subsets (the power set).
Note: The solution set must not contain duplicate subsets.
Example:
Input: nums = [1,2,3]
Output:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
나의 코드
재귀를 이용해 풀어야한다는 것은 느꼈지만 결국 문제를 풀지 못했다.
다른 사람의 코드
function subsets(nums) {
const powerset = [];
generatePowerset([], 0);
function generatePowerset(path, index) {
powerset.push(path);
// for 문 안에서 재귀 호출을 해 모든 경우의 수를 실행했다.
for (let i = index; i < nums.length; i++) {
generatePowerset([...path, nums[i]], i + 1);
}
}
return powerset;
}
배운점
- for 문 내에서 재귀 호출을 하는 것에 대한 로직 익혀두기
재귀의 새로운 사용법을 알게되었다. 위의 로직을 상세히 익혀두고 사용해봐야겠다.
Subscribe via RSS