Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions zinnnn37/202511/6 PGM LV2 전화번호 목록.md
Original file line number Diff line number Diff line change
@@ -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;
}
}
```