067. 재고 관리 시스템
Medium
바이브코딩
MCPInventorySystem
문제 설명
[문제]
재고 관리 시스템 MCP 서버를 구현하시오.
상품별로 가격과 재고 수량을 관리한다. 상품을 등록하고, 재고를 조정하고, 현재 재고를 조회하며, 재고가 기준치 이하로 떨어진 상품을 알려 준다.
[구현할 함수]
- add_product(product_name: str, price: float) -> int
가격 price인 상품을 등록한다(초기 재고 0). 등록 후 전체 상품 수를 반환한다.
- update_stock(product_name: str, quantity: int) -> bool
상품의 재고를 quantity로 설정한다(증감이 아니라 절대값으로 덮어씀). 등록된 상품이면 True, 없으면 False를 반환한다.
- check_stock(product_name: str) -> int
상품의 현재 재고 수량을 반환한다. 등록되지 않은 상품이면 -1을 반환한다.
- low_stock_alert(threshold: int) -> array<string>
재고가 threshold 이하(<=)인 상품들의 이름 배열을 반환한다.
[입력·상태]
서버는 상품 이름 -> {가격, 재고} 형태의 키-값 저장소를 상태로 유지한다. 초기 상태는 상품이 없는 빈 상태이다.
[제약]
- 새 상품의 초기 재고는 0이다.
- update_stock은 재고를 절대값으로 설정한다.
- 없는 상품에 update_stock은 False, check_stock은 -1이다.
- low_stock_alert는 재고가 기준치 이하(경계 포함)인 상품을 모은다.
[예시]
add_product("사과", 1000) -> 1
add_product("사과", 1000); update_stock("사과", 50) -> True; check_stock("사과") -> 50
add_product("사과", 1000); update_stock("사과", 5); low_stock_alert(10) -> ["사과"]
update_stock("없음", 10) -> False # 미등록 상품 (경계)
check_stock("없음") -> -1 # 미등록 상품 (경계)
low_stock_alert(10) -> [] # 상품 없음 (경계)
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.