Algorithm
[Algorithm] 순열
eivomin
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]