문제 › 037

037. 미니 검색 엔진

Hard 바이브코딩 MCPSearchIndex
문제 설명
[문제] 문서를 색인(인덱싱)하고 키워드로 검색하는 미니 검색 엔진 MCP 서버를 구현한다. 문서마다 고유한 doc_id(문서 번호 문자열)와 본문(content)이 있다. 검색은 단순 포함 검색이다. 즉 키워드가 어떤 문서의 본문에 부분 문자열로 들어 있으면 그 문서가 검색 결과에 포함된다. [구현할 함수] - index_document(doc_id: str, content: str) -> int 문서를 색인에 추가(이미 있으면 갱신)하고, 추가 후 전체 문서 수를 반환한다. - search(keyword: str) -> List[str] keyword 가 본문에 포함된 문서들의 doc_id 배열을 반환한다. 결과는 오름차순으로 정렬한다. 일치하는 문서가 없으면 빈 배열을 반환한다. - get_document(doc_id: str) -> str 해당 doc_id 의 본문을 반환한다. 없으면 빈 문자열("")을 반환한다. [입력·상태] 서버 인스턴스 내부에 "doc_id -> content" 형태의 저장소를 유지한다. 초기 상태는 문서가 하나도 없는 빈 상태다. [제약] - search 의 결과 doc_id 배열은 오름차순으로 정렬한다(결과가 결정론적이도록). - 일치 문서 없음 -> 빈 배열, 없는 doc_id 조회 -> 빈 문자열. [예시] (각각 초기 빈 상태) index_document("1", "Hello World") -> 1 search("없는단어") -> [] get_document("없음") -> ""
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.