문제 이동
난이도: ⭐️⭐️
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
def dfs(index, res):
results.append(res)
if len(res) == len(nums):
return
for i in range(index, len(nums)):
dfs(i+1, res + [nums[i]])
results = []
dfs(0, [])
return results
그냥 dfs 백트래킹 문제는 공식이 있음.
def solution(nums):
def dfs(index, res):
if 종료조건:
results.append(res)
return
for i in range(index, len(nums)):
dfs(i+1, res + [nums[i]])
results = []
dfs(0, [])
return results
위 형태에서 살짝씩 변형인 것 같다.
중요한 것은 dfs() 인자로 변수를 넣지 말 것..