Java
dfs 순열 알고리즘
yougeun
2022. 11. 19. 21:17
728x90
dfs 순열 알고리즘
public static void permutation(int n,int r) {
int[] answer = new int[r];
int[] arr = new int[n];
for(int i=1; i<=n;i++){
arr[i-1] = i;
}
boolean[] visited = new boolean[n];
perm(arr,answer,visited,0,n,r);
}
static void perm(int[] arr, int[] output, boolean[] visited, int depth, int n, int r) {
if (depth == r) {
System.out.println(Arrays.toString(output));
return;
}
for (int i=0; i<n; i++) {
if (!visited[i]) {
visited[i] = true;
output[depth] = arr[i];
perm(arr, output, visited, depth + 1, n, r);
visited[i] = false;
}
}
}
n개중에 r개 뽑아 중복없이 사전순으로 출력하는 순열 알고리즘
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/87946
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
https://github.com/yougeun6021/Algorithm/blob/master/src/Level2/Fatigability.java
GitHub - yougeun6021/Algorithm
Contribute to yougeun6021/Algorithm development by creating an account on GitHub.
github.com
728x90