문제 › 069

069. 도서 관리 시스템

Medium 바이브코딩 MCPLibraryCRUD
문제 설명
[문제] 도서 관리 시스템 MCP 서버를 구현하시오. 도서를 제목과 저자로 등록하고, 제목으로 검색하며, 대출/반납 상태를 관리한다. 각 도서는 "대출 중"인지 아닌지 상태를 가진다. 이미 대출 중인 책은 다시 대출할 수 없고, 대출 중이 아닌 책은 반납할 수 없다. [구현할 함수] - add_book(title: str, author: str) -> int 제목 title, 저자 author인 도서를 등록한다(초기 상태는 대출 안 됨). 등록 후 전체 도서 수를 반환한다. - search_book(title: str) -> str 제목으로 도서를 검색해 저자를 반환한다. 해당 제목의 도서가 없으면 빈 문자열 ""을 반환한다. - borrow_book(title: str) -> bool 도서를 대출한다. 도서가 존재하고 대출 중이 아닐 때만 성공하여 True, 그 외(없거나 이미 대출 중)에는 False를 반환한다. - return_book(title: str) -> bool 도서를 반납한다. 도서가 존재하고 대출 중일 때만 성공하여 True, 그 외(없거나 대출 중이 아님)에는 False를 반환한다. [입력·상태] 서버는 도서 목록(제목, 저자, 대출 여부)을 상태로 유지한다. 초기 상태는 도서가 없는 빈 상태이다. [제약] - 새 도서의 초기 상태는 대출되지 않음이다. - 이미 대출 중인 책의 borrow_book은 False이다. - 대출 중이 아닌 책(또는 없는 책)의 return_book은 False이다. - 없는 제목의 search_book은 "" 이다. [예시] add_book("파이썬", "홍길동") -> 1 add_book("파이썬", "홍길동"); search_book("파이썬") -> "홍길동" add_book("파이썬", "홍길동"); borrow_book("파이썬") -> True; return_book("파이썬") -> True add_book("파이썬", "홍길동"); borrow_book("파이썬") -> True; borrow_book("파이썬") -> False # 이미 대출 중 search_book("없음") -> "" # 없는 도서 (경계) borrow_book("없음") -> False # 없는 도서 (경계) return_book("없음") -> False # 없는 도서 (경계)
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.