From b31f83c16716f380447277c260a4c64a823ebd33 Mon Sep 17 00:00:00 2001 From: rl544 <111494264+rl544@users.noreply.github.com> Date: Mon, 2 Jan 2023 23:25:51 +0900 Subject: [PATCH] =?UTF-8?q?uploaded=20at=202023.=201.=202.=20=EC=98=A4?= =?UTF-8?q?=ED=9B=84=2011:25:50?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- programmers/모음 사전/solution.java | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 programmers/모음 사전/solution.java 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