문제 › 089

089. Trie 자료구조

Hard 바이브코딩 MCPDataStructureTrie
문제 설명
[문제] Trie(트라이, 접두사 트리) 자료구조를 제공하는 MCP 서버를 구현한다. Trie는 여러 단어를 글자 단위로 저장해 두는 자료구조로, "어떤 글자들로 시작하는 단어"를 빠르게 찾는 데 강하다. 예를 들어 "hello"가 들어 있을 때 접두사(prefix) "he"로 시작하는 단어를 물으면 "hello"를 찾아준다. 접두사란 단어의 앞부분을 말한다 — "he", "hel"은 "hello"의 접두사이지만 "lo"는 아니다. [구현할 함수] - insert(word: str) -> int word를 저장한다. 저장 후 Trie에 들어 있는 전체 단어 수를 반환한다. - search(word: str) -> bool word가 통째로 저장되어 있으면 True, 아니면 False를 반환한다. - starts_with(prefix: str) -> bool prefix로 시작하는 단어가 하나라도 있으면 True, 없으면 False를 반환한다. - autocomplete(prefix: str) -> array<string> prefix로 시작하는 모든 단어의 배열을 반환한다. 없으면 빈 배열 []을 반환한다. [입력·상태] 서버는 Trie 상태를 유지한다. 초기에는 비어 있다. [제약] - 단어와 접두사는 문자열이다. [예시] (각 예시는 초기 빈 상태에서 시작) insert("hello") -> 1 search("hello") -> True search("hi") -> False # 저장 안 됨 starts_with("he") -> True autocomplete("he") -> ["hello"] autocomplete("xy") -> [] # 해당 접두사 단어 없음
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.