diff --git a/programmers/모음 사전/solution.java b/programmers/모음 사전/solution.java new file mode 100644 index 0000000..3175fc5 --- /dev/null +++ b/programmers/모음 사전/solution.java @@ -0,0 +1,40 @@ +// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/84512?language=java + +import java.lang.StringBuilder; +import java.util.*; +class Solution { + PriorityQueue q = new PriorityQueue<>(); + StringBuilder sb = new StringBuilder(); + char[] oo = {'A','E','I','O','U'}; + private String[] dfs(int depth){ + String[] sa; + ArrayList al = new ArrayList<>(); + if(depth == 1){ + al.clear(); + for(char c : oo){ + al.add(c+""); + q.add(c+""); + } + return al.stream().toArray(String[]::new); + } + if(depth >= 2){ + al.clear(); + sa = dfs(depth-1); + for(String s : sa){ + for(char c : oo){ + al.add(s+c); + q.add(s+c); + } + } + return al.stream().toArray(String[]::new); + } + return null; + } + public int solution(String word) { + int answer = 0; + Arrays.toString(dfs(5)); + String[] ans = q.stream().toArray(String[]::new); + Arrays.sort(ans); + return Arrays.asList(ans).indexOf(word)+1; + } +} \ No newline at end of file