반응형
public static void main(String[] args) {
System.out.println(getPermutations("324"));
}
/**
*
* 순열 구하기
*/
public static List<String> getPermutations(String s){
if(s==null) return null;
//boolean 은 누구를 선택 했는지 판별 파라미터
return permuRec(s,new boolean[s.length()],"",new ArrayList<String>());
}
private static List<String> permuRec(String s, boolean[] pick,String perm,ArrayList<String> result){
//종료 조건
if(perm.length() == s.length()){
result.add(perm);
return result;
}
for(int i=0;i<s.length();i++){
if(pick[i]) continue;
pick[i] = true;
permuRec(s,pick,perm + s.charAt(i),result);
pick[i] = false;
}
return result;
}
반응형
'Algorithm' 카테고리의 다른 글
checkPrimeNumber (0) | 2018.10.09 |
---|---|
팰린드롬 (palindrome) 구현 (0) | 2018.02.05 |
Java - N 비트 경우의 수 출력 (0) | 2017.05.28 |
java - CountWays (in Dice ) (0) | 2017.05.28 |
Java - fibonacci (0) | 2017.05.28 |