- DFS를 통하여 순서에 따라 중복이 허용된 모든 경우의 수를 list에 담는다.
- 해당하는 word에 해당하는 list의 index를 구하고 반환한다.
import java.util.*;
class Solution {
static char[] ch = {'A', 'E', 'I', 'O', 'U'};
static List<String> list = new ArrayList<>();
public int solution(String word) {
dfs(0,"",0);
return list.indexOf(word);
}
void dfs(int depth, String cur, int count){
if(depth<=5){
list.add(cur);
if(depth == 5){
return;
}
}
for(int i=0; i<5; i++){
dfs(depth+1, cur+ch[i], count + 1);
}
}
}