2022년 2월 13일 일요일 - 오늘은 데이트~
오늘 올려볼 문제는 78번 Subsets 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
아니 List 작동 방식 이상해...
입력
사진에서도 볼 수 있듯이 int 배열 하나가 주어진다.
풀이 및 코드
int 배열의 subsets들을 모두 구하는 문제이다.
오늘은 처음부터 정답을 생각해냈다.
전형적인 백트래킹 문제여서 별다른 설명은 하지 않겠다.
이제 코드를 봐보자!
풀이코드
class Solution {
List<List<Integer>> result = new ArrayList<List<Integer>>();
Stack<Integer> arr = new Stack<Integer>();
public List<List<Integer>> subsets(int[] nums) {
solve(nums, 0);
return result;
}
public void solve(int[] nums, int index)
{
if(index == nums.length)
{
result.add(new ArrayList(arr));
return;
}
solve(nums, index + 1);
arr.push(nums[index]);
solve(nums, index + 1);
arr.pop();
}
}
제출 화면
오늘은 java의 List가 이상하게 동작하는 바람에 조금 시간이 걸렸던 문제였다.
그래도 쉽게 문제를 풀어서 다행이었다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 136번 문제를 풀어보았다. (ft. java) (0) | 2022.02.15 |
---|---|
[LeetCode] 104번 문제를 풀어보았다. (ft. java) (0) | 2022.02.14 |
[LeetCode] 127번 문제를 풀어보았다. (ft. java) (0) | 2022.02.12 |
[LeetCode] 567번 문제를 풀어보았다. (ft. java) (0) | 2022.02.12 |
[LeetCode] 560번 문제를 풀어보았다. (ft. java) (0) | 2022.02.10 |