문제 › 063

063. 은행 계좌 관리

Medium 바이브코딩 MCPFinanceSystem
문제 설명
[문제] 은행 계좌 관리 MCP 서버를 구현하시오. 계좌 이름별로 잔액을 관리한다. 계좌를 만들고, 입금하고, 출금하고, 잔액을 조회한다. 존재하지 않는 계좌를 다루거나 잔액보다 많이 출금하려 하면 -1로 실패를 알린다. [구현할 함수] - create_account(account_name: str) -> int 잔액 0인 새 계좌를 만든다. 생성 후 전체 계좌 수를 반환한다. - deposit(account_name: str, amount: float) -> number 해당 계좌에 amount만큼 입금한다. 입금 후 그 계좌의 잔액을 반환한다. 계좌가 없으면 -1을 반환한다. - withdraw(account_name: str, amount: float) -> number 해당 계좌에서 amount만큼 출금한다. 출금 후 잔액을 반환한다. 계좌가 없거나 잔액이 부족하면 -1을 반환한다. - get_balance(account_name: str) -> number 해당 계좌의 잔액을 반환한다. 계좌가 없으면 -1을 반환한다. [입력·상태] 서버는 계좌 이름 -> 잔액 형태의 키-값 저장소를 상태로 유지한다. 초기 상태는 계좌가 없는 빈 상태이다. [제약] - 새 계좌의 초기 잔액은 0이다. - 없는 계좌에 대한 deposit/withdraw/get_balance는 모두 -1이다. - 잔액보다 큰 금액 출금은 -1(실패)이며 잔액은 변하지 않는다. [예시] create_account("홍길동") -> 1 create_account("홍길동"); deposit("홍길동", 1000) -> 1000 create_account("홍길동"); deposit("홍길동", 1000); withdraw("홍길동", 500) -> 500 create_account("홍길동"); get_balance("홍길동") -> 0 # 초기 잔액 deposit("없음", 100) -> -1 # 없는 계좌 (경계) withdraw("없음", 100) -> -1 # 없는 계좌 (경계) get_balance("없음") -> -1 # 없는 계좌 (경계)
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.