이 계산기로 무엇을 할 수 있나요
거스름돈 계산기는 현금 거래에서 손님에게 돌려줘야 할 거스름돈이 얼마인지 계산한 뒤, 그 금액을 가장 적은 수의 지폐와 동전으로 나눠 보여줍니다. 특정 국가에 얽매이지 않는 범용 도구로, 전 세계에서 흔히 쓰이는 통화 중에서 골라 쓸 수 있습니다. 지원 통화는 미국 달러(USD, 기본값), 유로(EUR), 영국 파운드(GBP), 캐나다 달러(CAD), 호주 달러(AUD), 멕시코 페소(MXN), 필리핀 페소(PHP), 뉴질랜드 달러(NZD), 브라질 헤알(BRL)입니다. 한국 원(KRW)은 아직 지원하지 않으므로, 해외 매장 운영이나 외화 거래 상황에 활용하시면 좋습니다.
사용 방법
먼저 통화와 모드를 선택하세요. "거스름돈 계산" 모드에서는 판매 금액과 받은 금액을 입력하면, 받은 금액에서 판매 금액을 뺀 값을 거스름돈으로 계산합니다. "거스름돈 직접 입력" 모드에서는 거스름돈 금액을 바로 넣어 판매 금액 계산 단계를 건너뜁니다. 결과 화면에는 내줘야 할 거스름돈과 함께, 각 지폐·동전을 몇 장(개) 건네야 하는지 큰 단위부터 정리한 표, 그리고 총 개수가 표시됩니다.
공식과 알고리즘
먼저 거스름돈을 구합니다: $$C = \text{Tendered} - \text{Purchase}$$ (또는 직접 입력한 금액). 부동소수점 오차를 피하기 위해 금액에 100을 곱하고 반올림하여 정수 단위(센트)로 변환합니다. 그다음 탐욕(greedy) 알고리즘이 큰 단위부터 작은 단위까지 차례로 돌면서 $$n_d = \left\lfloor \frac{r}{d} \right\rfloor,\quad r \leftarrow r - n_d\,d$$ 만큼을 취하고 남은 금액에서 빼나갑니다. USD, EUR, GBP처럼 표준적인(정형) 화폐 체계에서는 이 탐욕 방식이 실제로 가장 적은 개수의 결과를 보장합니다.
계산 예시
USD 기준, 판매 금액 $7.50, 받은 금액 $20.00. 거스름돈 \( = \$20.00 - \$7.50 = \$12.50 = 1250 \)센트. 탐욕 알고리즘: $10 한 장(250센트 남음), $2 한 장(50센트 남음), 50센트 동전 한 개(0센트 남음). 결과: $10 × 1, $2 × 1, 50센트 × 1 — 총 3개입니다.
자주 묻는 질문
왜 센트 단위로 변환하나요? 정수 단위로 계산하면 12.499999 같은 값 때문에 동전 하나가 엉뚱하게 생기는 오류를 막을 수 있습니다.
특정 단위를 비활성화하면 어떻게 되나요? 탐욕 분배는 남은 단위들만으로 계속 진행됩니다. 0원에 도달하지 못하면 남은 잔액을 표시합니다. 정확한 거스름돈을 보장하려면 가장 작은 동전은 항상 켜 두세요.
탐욕 알고리즘이 항상 최적인가요? 각국의 표준 화폐 체계에서는 그렇습니다. 다만 특이하거나 일부를 비활성화한 단위 조합에서는 유효하긴 하지만 언제나 전체 최소 개수는 아닐 수 있습니다.