본문 바로가기
Algorithm

Java - 순열 ( Permutation )

by ByteBridge 2017. 5. 28.
반응형
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