알고리즘/백준
14534_String Permutation
베리영young
2024. 7. 8. 01:34
사용 알고리즘: permutation (일종의 dfs)
사용 언어: java
package afterMiracom_0618;
import java.io.*;
import java.util.*;
public class Main_bj_14534_StirngPermutation {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=1; i<=n; i++ ) {
String s = sc.next();
System.out.println("Case # "+i+":");
boolean[] visit = new boolean[s.length()];
char[] ans = new char[s.length()];
permutation(s, visit, ans, 0);
}
}
private static void permutation(String s, boolean[] visit, char[] ans, int cnt) {
if(cnt == s.length()) {
for(int i=0; i<s.length(); i++) System.out.print(ans[i]);
System.out.println();
return;
}
for (int i = 0; i < s.length(); i++) {
if(!visit[i]) {
visit[i] = true;
ans[cnt] = s.charAt(i);
permutation(s, visit, ans, cnt+1);
visit[i] = false;
}
}
}
}
오~~
순조부