[LeetCode] Subsets

yoonene·2023년 2월 1일
0

알고리즘

목록 보기
45/62

문제 이동
난이도: ⭐️⭐️

첫 번째 제출

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() 인자로 변수를 넣지 말 것..

profile
NLP Researcher / Information Retrieval / Search

0개의 댓글