103. 토큰화 분석기
Hard
바이브코딩
MCPNLPText
문제 설명
[문제]
텍스트 토큰화 분석기 MCP 서버를 구현한다. 토큰화(tokenize)란 문장을 의미 단위(토큰)로 쪼개는 것이다. 여기서는 단순하게 공백(스페이스)을 기준으로 단어를 나눈다. 예를 들어 "이 문장을 토큰화"는 ["이", "문장을", "토큰화"] 세 토큰이 된다.
[구현할 함수]
- tokenize(text: str) -> 문자열 배열
텍스트를 공백 기준으로 나눈 토큰 배열을 반환한다.
- count_tokens(tokens: 문자열 배열) -> int
토큰 배열의 개수를 반환한다(중복 포함, 즉 배열 길이).
- get_vocabulary(tokens: 문자열 배열) -> 문자열 배열
토큰 배열에서 중복을 제거한 어휘(고유 토큰)를 오름차순으로 정렬해 반환한다.
[입력·상태]
text는 문자열, tokens는 문자열 배열이다. 서버는 상태를 유지하지 않는다(각 호출이 독립적).
[제약]
- count_tokens는 중복을 세지 않고 제거하지 않은 전체 개수를 반환한다(예: ["a","b","a"]는 3).
- get_vocabulary는 중복을 제거하고 정렬한다(예: ["a","b","a"]는 ["a","b"]).
[예시]
tokenize("이 문장을 토큰화") -> ["이", "문장을", "토큰화"]
count_tokens(["a", "b", "a"]) -> 3
get_vocabulary(["a", "b", "a"]) -> ["a", "b"]
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.