062. 장바구니 시스템
Medium
바이브코딩
MCPShoppingSystem
문제 설명
[문제]
장바구니 시스템을 제공하는 MCP 서버를 구현하시오.
온라인 쇼핑의 장바구니처럼, 상품을 이름과 가격으로 담고 빼고 총액을 계산한다. 같은 이름의 상품을 여러 번 담을 수 있으므로, 단순한 집합이 아니라 (이름, 가격) 쌍들의 목록으로 관리한다.
[구현할 함수]
- add_item(item: str, price: float) -> int
이름 item, 가격 price인 상품을 장바구니에 추가한다. 추가 후 장바구니에 담긴 전체 상품 개수를 반환한다.
- remove_item(item: str) -> bool
이름이 item과 처음으로 일치하는 상품 하나를 제거한다. 제거에 성공하면 True, 그런 이름이 없으면 False를 반환한다.
- get_cart() -> array<string>
현재 장바구니에 담긴 상품 이름들을 추가한 순서대로 배열로 반환한다.
- calculate_total() -> number
장바구니에 담긴 모든 상품 가격의 합계를 반환한다. 빈 장바구니면 0이다.
[입력·상태]
서버는 (이름, 가격) 쌍의 목록을 상태로 유지한다. 초기 상태는 빈 장바구니이다.
[제약]
- 같은 이름의 상품이 여러 개 담길 수 있다.
- remove_item은 첫 번째 매칭 하나만 제거한다.
- 없는 상품 제거는 False, 빈 장바구니의 총액은 0, 목록은 빈 배열 [] 이다.
[예시]
add_item("사과", 1000) -> 1
add_item("사과", 1000); calculate_total() -> 1000
add_item("사과", 1000); add_item("바나나", 500); get_cart() -> ["사과", "바나나"]
add_item("사과", 1000); remove_item("사과") -> True; calculate_total() -> 0
remove_item("없음") -> False # 없는 상품 (경계)
get_cart() -> [] # 빈 장바구니 (경계)
calculate_total() -> 0 # 빈 장바구니 (경계)
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.