058. 전화번호부
Medium
바이브코딩
MCPContactCRUD
문제 설명
[문제]
이름과 전화번호를 저장·검색·삭제하는 전화번호부 MCP 서버를 구현한다. 서버는 이름을 키로, 전화번호를 값으로 하는 저장소를 유지한다.
[구현할 함수]
- add_contact(name: str, phone_number: str) -> int
새 연락처를 추가하고, 추가한 뒤의 전체 연락처 수를 정수로 돌려준다.
- search_contact(name: str) -> str
이름으로 전화번호를 검색한다. 등록된 이름이면 전화번호 문자열을, 없으면 빈 문자열 ""을 돌려준다.
- delete_contact(name: str) -> bool
이름으로 연락처를 삭제한다. 삭제에 성공하면 참, 등록되지 않은 이름이면 거짓을 돌려준다.
- list_contacts() -> List[str]
등록된 이름 목록을 문자열 배열로 돌려준다(정렬 순서는 무관). 없으면 빈 배열을 돌려준다.
[입력·상태]
서버 인스턴스가 이름->전화번호 형태의 키-값 저장소를 유지한다.
[제약]
- add_contact는 정수, search_contact는 문자열, delete_contact는 불리언, list_contacts는 문자열 배열을 돌려준다.
- 없는 이름에 대한 검색/삭제는 예외 없이 각각 빈 문자열/거짓을 돌려준다.
[예시]
# 초기 빈 상태에서
add_contact("홍길동", "010-1234-5678") -> 1
search_contact("홍길동") -> "010-1234-5678"
# 추가 후 삭제
add_contact("홍길동", "010-1111-2222") -> 1
delete_contact("홍길동") -> True
list_contacts() -> []
# 빈 상태에서 없는 이름 삭제
delete_contact("없음") -> False
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.