<--- 리트코드 78. Subsets --->

# 문제: 모든 부분 집합을 리턴하라

 

입력

nums = [1,2,3]

출력

[
  [3],
  [1],
  [2],
  [1,2,3],
  [1,3],
  [2,3],
  [1,2],
  []
]

 

 

# 풀이

1. 트리의 모든 DFS 결과

1
2
3
4
5
6
7
8
9
10
11
12
13
def subsets(nums):
  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
  
nums = [1,2,3]
print(subsets(nums))
cs