104. 미니 패키지 매니저
Hard
바이브코딩
MCPPackageSystem
문제 설명
[문제]
미니 패키지 매니저 MCP 서버를 구현한다. 패키지 매니저는 소프트웨어 패키지를 설치·삭제하고 설치 목록을 관리하는 도구다(예: pip, npm). 여기서는 단순화하여 설치된 패키지를 이름의 집합으로만 관리하며, 의존성(dependency) 조회는 항상 빈 결과를 돌려주도록 단순화한다.
서버는 설치된 패키지 이름의 집합을 유지하며 시작 시 비어 있다(중복 설치는 한 번만 등록).
[구현할 함수]
- install(package_name: str) -> int
패키지를 설치 목록에 추가한다. 추가 후 전체 설치 패키지 개수를 반환한다.
- uninstall(package_name: str) -> bool
패키지를 삭제한다. 실제로 설치돼 있던 것을 삭제했으면 True, 없던 패키지면 False.
- list_installed() -> 문자열 배열
설치된 패키지 이름을 오름차순으로 정렬해 반환한다. 없으면 빈 배열.
- check_dependencies(package_name: str) -> 문자열 배열
패키지의 의존성 배열을 반환한다. 단순화를 위해 항상 빈 배열.
[입력·상태]
패키지 이름은 문자열이다. 설치 집합은 호출 간에 유지된다.
[제약]
- 설치돼 있지 않은 패키지를 uninstall하면 False를 반환한다.
- check_dependencies는 어떤 입력에도 항상 빈 배열을 반환한다.
[예시]
install("requests") -> 1
(빈 상태) uninstall("없음") -> false
(빈 상태) list_installed() -> []
check_dependencies("anything") -> []
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.