[1스4코2파] # 214. LeetCode 78. Subsets

gunny·2023년 8월 6일
0

코딩테스트

목록 보기
215/530

[1스4코2파] 1명의 스위프트 개발자와 4명의 코틀린 개발자, 2명의 파이썬 개발자코딩 테스트 서막 : 1스4코1파

Rule :

하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능

START :

[3코1파] 2023.01.04~ (214차)
[4코1파] 2023.01.13~ (206일차)
[1스4코1파] 2023.04.12~ (117일차)
[1스4코2파] 2023.05.03 ~ (95일차)

Today :

2023.08.06 [214일차]
backtracking
https://leetcode.com/problems/subsets/

78. Subsets

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

문제 설명

unique한 숫자로 구성된 배열이 주어졌을 때, 이 배열의 원소로 구성할 수 있는 모든 하위 집합을 return 하는 것

문제 풀이 방법

dfs를 이용해서 backtracking 을 이용해서 품

내 코드

class Solution:
    def subsets(self, nums: List[int]) -> List[List[int]]:

        res = []
        
        subset = []
        def dfs(i):
            if i >= len(nums):
                res.append(subset.copy())
                return 

            # decision to include nums[i]
            subset.append(nums[i])
            dfs(i+1)
            
            # desicion not to include nums[i]

            subset.pop()
            dfs(i+1)

        dfs(0)

        return res

증빙

여담

난 내일 회사안간다? 남의 회사 놀러간다 ㅋㅎ

profile
꿈꾸는 것도 개발처럼 깊게

1개의 댓글

comment-user-thumbnail
2023년 8월 6일

많은 도움이 되었습니다, 감사합니다.

답글 달기