059. 해시맵 구현
Medium
바이브코딩
문제 설명
[문제]
키-값 저장소(해시맵)를 직접 구현하는 MCP 서버를 만든다. 해시맵이란 키를 주면 그에 대응하는 값을 빠르게 넣고 꺼낼 수 있는 자료구조다.
[구현할 함수]
- put(key: str, value: str) -> int
키-값 쌍을 저장한다. 이미 있는 키면 값을 덮어쓴다. 저장한 뒤의 전체 키 개수를 정수로 돌려준다.
- get(key: str) -> str
키에 대응하는 값을 돌려준다. 키가 없으면 빈 문자열 ""을 돌려준다.
- delete_key(key: str) -> bool
키를 삭제한다. 삭제에 성공하면 참, 없는 키면 거짓을 돌려준다.
- contains(key: str) -> bool
키가 존재하면 참, 없으면 거짓을 돌려준다.
[입력·상태]
서버 인스턴스가 키->값 저장소를 유지한다.
[제약]
- put은 정수(전체 키 개수), get은 문자열, delete_key와 contains는 불리언을 돌려준다.
- 없는 키에 대한 조회/삭제는 예외 없이 각각 빈 문자열/거짓을 돌려준다.
[예시]
# 초기 빈 상태에서
put("name", "Alice") -> 1
get("name") -> "Alice"
contains("name") -> True
# 삭제 후
delete_key("name") -> True
contains("name") -> False
# 없는 키
get("없음") -> ""
delete_key("없음") -> False
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.