주문은 100건인데 정산은 98건이다 · 금액이 갈라지는 자리 · 퀴즈
퀴즈: 금액이 갈라지는 자리
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
주문 단위 혜택을 품목에 나누는 함수가 반드시 가져야 할 첫 번째 성질은?
- 각 품목의 몫이 정수가 되도록 비율을 소수 둘째 자리에서 반올림하는 것
- 가장 비싼 품목이 언제나 가장 큰 몫을 받도록 미리 정렬하는 것
- 나눈 값의 합이 나누기 전 금액과 정확히 같은 것
- 모든 품목이 적어도 1원 이상은 받도록 보장해 주는 것
쿠폰을 쓴 주문에서 품목 하나를 부분 취소할 때 환불액의 출발점은?
- 그 품목의 정가를 그대로 돌려준다
- 주문 실결제 금액을 품목 개수로 나눈 값을 돌려준다
- 그 품목의 정가에서 쿠폰 총액을 전부 뺀 값을 돌려준다
- 그 품목에 배분된 혜택을 반영한 실판매가에서 출발한다
금액 배분을 실수(부동소수점)로 계산하면 안 되는 이유는?
- 이진 부동소수점이 0.08 같은 값을 정확히 담지 못해 마지막 1원이 어긋난다
- 실수 연산이 정수 연산보다 느려서 야간 배치 시간이 길어진다
- 실수는 음수를 표현하지 못해 환불 금액 계산에 쓸 수 없다
- 실수는 자릿수가 모자라 백만 원이 넘는 금액을 담지 못한다
부분 취소로 쿠폰의 최소 구매 금액 조건이 깨졌을 때 되가져올 금액은?
- 쿠폰 총액 전부를 환불액에서 뺀다
- 남은 품목에 붙어 있던 쿠폰 몫만 되가져온다
- 쿠폰은 조건과 무관하므로 아무것도 되가져오지 않는다
- 취소한 품목의 쿠폰 몫을 환불액에서 한 번 더 뺀다
품목별 배분표를 언제 만들어 두어야 하는가?
- 주문 시점에 확정해 저장한다. 나중에 다시 계산하면 정책이 바뀌어 값이 달라진다
- 필요할 때마다 다시 계산하면 되므로 아예 저장하지 않는 편이 낫다
- 환불에만 쓰이는 값이므로 취소 요청이 들어올 때 처음 만들면 된다
- 월말 회계 마감 때 그 달치를 한 번에 만들어 두면 충분하다
되가져올 금액이 돌려줄 금액보다 큰 부분 취소를 만났을 때 옳은 처리는?
- 환불액을 음수로 적어 고객에게 차액을 추가로 청구한다
- 회수를 포기하고 그 품목의 실판매가 전액을 그대로 돌려준다
- 환불액은 0원에서 멈추고, 그런 주문은 업무 규칙이 따로 필요하다는 신호로 본다
- 남은 회수액을 그 고객의 다음 주문으로 이월해 그때 차감한다