From 5b13ce6421f5cab9411dbacef893f83688acf6be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=A7=84?= Date: Thu, 6 Nov 2025 21:51:11 +0900 Subject: [PATCH] =?UTF-8?q?[20251106]=20PGM=20/=20LV2=20/=20=EC=A0=84?= =?UTF-8?q?=ED=99=94=EB=B2=88=ED=98=B8=20=EB=AA=A9=EB=A1=9D=20/=20?= =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=A7=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\355\230\270 \353\252\251\353\241\235.md" | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 "zinnnn37/202511/6 PGM LV2 \354\240\204\355\231\224\353\262\210\355\230\270 \353\252\251\353\241\235.md" diff --git "a/zinnnn37/202511/6 PGM LV2 \354\240\204\355\231\224\353\262\210\355\230\270 \353\252\251\353\241\235.md" "b/zinnnn37/202511/6 PGM LV2 \354\240\204\355\231\224\353\262\210\355\230\270 \353\252\251\353\241\235.md" new file mode 100644 index 00000000..b8a0a90c --- /dev/null +++ "b/zinnnn37/202511/6 PGM LV2 \354\240\204\355\231\224\353\262\210\355\230\270 \353\252\251\353\241\235.md" @@ -0,0 +1,63 @@ +```java +class PGM_LV2_전화번호_목록 { + + private static Trie trie; + private static boolean answer; + + private static class TrieNode { + TrieNode[] children; + boolean isEnd; + + TrieNode() { + children = new TrieNode[10]; + isEnd = false; + } + } + + private static class Trie { + TrieNode root; + + Trie() { + root = new TrieNode(); + } + + public static boolean insert(String number) { + TrieNode cur = trie.root; + + int len = number.length(); + for (int i = 0; i < len; i++) { + int idx = number.charAt(i) - '0'; + + if (cur.children[idx] == null) { + cur.children[idx] = new TrieNode(); + } + + cur = cur.children[idx]; + + if (cur.isEnd) { + return false; + } + } + + for (int i = 0; i < 10; i++) { + if (cur.children[i] != null) { + return false; + } + } + cur.isEnd = true; + return true; + } + } + + public boolean solution(String[] phone_book) { + trie = new Trie(); + + for (String number : phone_book) { + if (!trie.insert(number)) { + return false; + } + } + return true; + } +} +```