하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능
[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일차)
2023.08.06 [214일차]
backtracking
https://leetcode.com/problems/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
증빙
여담
난 내일 회사안간다? 남의 회사 놀러간다 ㅋㅎ
많은 도움이 되었습니다, 감사합니다.