프로그래머스 [모음사전]
문제보기

소스코드
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class Solution {
private static String[] wordPool = {"A", "E", "I", "O", "U"};
private static List<String> alphaSet = new ArrayList<>();
public static int solution(String word) {
if (alphaSet.isEmpty()) {
for (int i = 1; i <= 5; i++) {
makeAlphaDictionary(i, 0, new String[i]);
}
Collections.sort(alphaSet);
}
return alphaSet.indexOf(word) + 1;
}
public static void makeAlphaDictionary(int length, int idx, String[] str) {
if (idx >= length) {
alphaSet.add(String.join("", str));
return;
}
for (int i = 0; i < wordPool.length; i++) {
str[idx] = wordPool[i];
makeAlphaDictionary(length, idx + 1, str);
}
}
}