34. 순열
https://leetcode.com/problems/permutations/description/
📌문제
서로 다른 정수를 입력받아 가능한 모든 순열을 리턴하라.
- 예제1
📝입력
digits = "23"
💻출력
["ad","ae","af","bd","be","bf","cd","ce","cf"]
📌풀이
1ms, 43.3mb
class Solution {
public List<List<Integer>> permute(int[] nums) {
List<List<Integer>> result = new ArrayList<>();
permutation(result, nums, new boolean[nums.length], 0, nums.length, new Integer[nums.length]);
return result;
}
public void permutation(List<List<Integer>> result, int[] nums, boolean[] visited, int depth, int r, Integer[] make) {
if (depth == r) {
result.add(Arrays.asList(make.clone()));
return;
}
for (int i = 0; i < nums.length; i++) {
if (!visited[i]) {
visited[i] = true;
make[depth] = nums[i];
permutation(result, nums, visited, depth + 1, r, make);
visited[i] = false;
}
}
}
}
예전에 순열, 조합문제를 주구장창 풀었던 결과 어렵지 않게 풀었음..
'Algorithm > PTUStudy' 카테고리의 다른 글
16주차. 네 수 (0) | 2023.05.26 |
---|---|
16주차. 그래프(조합) (0) | 2023.05.26 |
15주차. ROT13 (0) | 2023.05.12 |
15주차. 단어 길이 재기 (0) | 2023.05.12 |
15주차. 그래프(전화번호 문자 조합) (0) | 2023.05.12 |