Skip to content
This page has been auto-translated and may contain errors.View in English

비용 분담 계산기

Dex 좋아. 우리 방금 보급 정거장에서 돌아왔는데 다들 각자 다른 걸 결제했고 이제 누가 누구한테 얼마를 빚졌는지 아무도 합의를 못 보고 있어. 이게 매번 큰 문제로 번진다니까. 누가 뭘 냈는지 기록하면 어떻게 정산해야 할지 알려주는 걸 만들어줄 수 있어? 승무원 사기를 위해서 🙄

만들 것

비용 추가 (정산하려면 'done' 입력):
누가 결제했나요? 민준
얼마인가요? 45.00

비용 추가 (정산하려면 'done' 입력):
누가 결제했나요? 서연
얼마인가요? 30.00

비용 추가 (정산하려면 'done' 입력): done

합계: £75.00을 2명이서 분담 (1인당 £37.50)
민준은 £7.50을 받아야 합니다
서연은 £7.50을 내야 합니다

필요한 것

  • 숫자와 산술 연산 — 합계 분할, 잔액 계산
  • 딕셔너리 — 각 사람이 얼마를 냈는지 추적
  • 리스트 — 비용을 수집하면서 각각 저장
  • 제어 흐름 — 사용자가 "done"을 입력할 때까지 실행되는 입력 루프
  • 함수 — 수집과 계산을 분리하면 로직이 더 명확해집니다

힌트

각 사람이 얼마를 냈는지 추적하세요. 이름을 키로, 금액을 값으로 하는 딕셔너리를 사용하면 각 사람당 합계를 쉽게 누적할 수 있습니다.

공평한 분담은 간단합니다. 총액을 사람 수로 나누면 됩니다. 어떤 사람이 낸 금액과 공평한 분담액의 차이가 그 사람의 잔액입니다: 양수면 받아야 하고, 음수면 내야 합니다.

먼저 수집하고, 나중에 계산하세요. 루프 안에서 모든 비용을 모으세요. 사용자가 "done"을 입력하면 한 번에 모든 계산을 수행하세요.

더 나아가기

기본을 익혔다면:

  • 두 명 이상. 로직은 동일합니다 — 공평한 분담액 대비 각자의 잔액을 계산하면 됩니다. 각 사람의 결과를 보여주세요.
  • 항목별 비용. 사용자가 각 비용에 설명을 추가할 수 있게 하고, 정산 전에 항목별 목록을 출력하세요.
  • 누가 누구에게 줄지. 단순히 잔액만 보여주는 대신, 모두를 정산하는 데 필요한 최소한의 송금 횟수를 계산하세요.