078. 가계부
Medium
바이브코딩
MCPFinanceCRUD
문제 설명
[문제]
수입과 지출을 기록하는 가계부 MCP 서버를 구현하시오.
잔액은 지금까지의 총수입에서 총지출을 뺀 값이다. 수입을 추가하면 잔액이 늘고, 지출을 추가하면 잔액이 준다. 예를 들어 처음 잔액이 0인 상태에서 지출 5000을 추가하면 잔액은 -5000이 된다.
[구현할 함수]
- add_income(amount: float, description: str) -> float
수입을 추가한다. description은 설명 메모다. 추가한 뒤의 잔액을 반환한다.
- add_expense(amount: float, description: str) -> float
지출을 추가한다. 추가한 뒤의 잔액을 반환한다.
- get_balance() -> float
현재 잔액(총수입 - 총지출)을 반환한다.
- get_summary() -> List[float]
[총수입, 총지출, 잔액] 순서의 길이 3 배열을 반환한다.
[입력·상태]
서버는 인스턴스 안에 수입 기록과 지출 기록을 유지한다. 초기 상태는 수입 0, 지출 0, 잔액 0이다.
[제약]
- 금액은 실수다.
- 잔액은 음수가 될 수 있다.
[예시] (각 줄은 초기 잔액 0 상태에서 시작)
add_income(10000, "월급") -> 10000.0
add_expense(5000, "식비") -> -5000.0 # 초기 잔액 0에서 지출만 했을 때
add_income(10000, ...) 후 add_expense(3000, ...) -> 7000.0
위 상태에서 get_summary() -> [10000.0, 3000.0, 7000.0]
get_balance() -> 0.0 # 아무것도 안 한 빈 상태
get_summary() -> [0.0, 0.0, 0.0] # 빈 상태
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.