티스토리 뷰
반응형
문제 링크
문제
Given an integer array nums of unique elements, return all possible subsets (the power set).
The solution set must not contain duplicate subsets. Return the solution in any order.
Example 1:
Input: nums = [1,2,3]
Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
Example 2:
Input: nums = [0]
Output: [[],[0]]
Constraints:
- 1 <= nums.length <= 10
- -10 <= nums[i] <= 10
- All the numbers of nums are unique.
문제 풀이
이 문제는 주어진 배열로 만들 수 있는 모든 부분 집합을 만드는 문제였어요.
공집합은 모든 집합의 부분 집합이므로 이를 꼭 추가해줘야 합니다.
이 문제를 처음 봤을 땐 permutation 문제처럼 백트래킹으로 풀까...? 라고 생각이 들었지만 그건 한 번 해봐서 떠오른 다른 방법으로 풀었습니다.
위와 같은 아이디어로 모든 부분집합을 만들 수 있었습니다!
소스 코드
class Solution {
func subsets(_ nums: [Int]) -> [[Int]] {
var result: [[Int]] = []
if nums.count == 0 {
return result
}
result.append([])
for i in 0..<nums.count {
let count = result.count
for j in 0..<count {
result.append(result[j] + [nums[i]])
}
}
return result
}
}
반응형
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] 94번 - Binary Tree Inorder Traversal [Swift] (0) | 2021.02.18 |
---|---|
[LeetCode] 79번 - Word Search [Swift] (0) | 2021.02.09 |
[LeetCode] 75번 - Sort Colors [Swift] (0) | 2021.02.08 |
[LeetCode] 70번 - Climbing Stairs [Swift] (1) | 2021.02.07 |
[LeetCode] 48번 - Rotate Image [Swift] (0) | 2021.02.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 테이블뷰
- 프로그래밍
- Xcode
- 자료구조
- design
- Apple
- 앱개발
- OSTEP
- 코테
- 백준
- DP
- 문법
- IOS
- 코딩테스트
- Combine
- pattern
- Swift
- Publisher
- document
- operating
- System
- 알고리즘
- mac
- operator
- 동시성
- 아이폰
- BFS
- OS
- 스위프트
- dfs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함