-
[Algorithm] 순열Algorithm 2023. 4. 10. 13:31
순열
서로 다른 n개의 원소에서 r개를 중복없이 순서에 상관있게 혹은 나열하는 것을 순열(permutation)이라고 한다.
구현
package Algorithm; import java.util.Arrays; public class Permutation { static int[] arr = {1,2,3}; static int[] res = new int[3]; static boolean[] visited = new boolean[3]; public static void main(String[] args) { perm(0); } private static void perm(int idx){ if(idx == arr.length){ System.out.println(Arrays.toString(res)); return; } for(int i=0; i<arr.length; i++){ if(!visited[i]){ visited[i] = true; res[idx] = arr[i]; perm(idx+1); visited[i] = false; } } } }
결과
[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 1, 2]
[3, 2, 1]'Algorithm' 카테고리의 다른 글
[Algorithm] BFS (0) 2023.04.25 [Algorithm] 부분집합 (0) 2023.04.10 [Algorithm] 중복 조합 (0) 2023.04.10 [Algorithm] 조합 (0) 2023.04.10 [Algorithm] 중복순열 (0) 2023.04.10