Home [Leet Code풀이] 78. Subsets
Post
Cancel

[Leet Code풀이] 78. Subsets

문제 설명

https://leetcode.com/problems/subsets/

주어진 리스트로 부터 가능한 모든 부분 집합을 구하는 문제다. DFS를 이용해 생성되는 경우의 수를 모두 구했다. 파이썬 알고리즘 인터뷰 책을 읽고 푼 문제라 코드가 같다.

풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution:
    def subsets(self, nums: List[int]) -> List[List[int]]:
        # 결과 값을 담을 변수
        result = []
        
        def dfs(index, path):
            result.append(path)

            # 다음 패쓰 탐색
            for i in range(index, len(nums)):
                dfs(i+1, path + [nums[i]])
            
        dfs(0, [])
        
        return result
This post is licensed under CC BY 4.0 by the author.