アルゴリズム問題 ~本の延滞料金~
問題
今回の問題はこちら。
本の返却日と返却期限から延滞料金を計算する
というもの。 ルールはこちら。
- 返却日と返却期限の文字列配列を渡される
- 日付の文字列は
dd mm yyyy
の形式(半角スペース区切り) - 返却期限を過ぎていなければ、0円
- 年・月が一緒であれば、1日過ぎる毎に150円
- 年は一緒、月がずれていれば、1月過ぎる毎に500円
- 年もずれていれば、固定で10000円
補足
- 返却日と返却期限が一致している場合、0円
- 月がずれていた場合、何日ずれているかは無視する
実装
今回は勉強中のJavaScript
で書いた。
var dates = { 'return': '12 6 2016', // 返却日 'limit': '6 6 2016' // 返却期限 } // 延滞料金用 var fine; // 年月日の差分 var date_diff = dates['return'].substring(0,2) - dates['limit'].substring(0,2); var month_diff = dates['return'].substring(2,4) - dates['limit'].substring(2,4); var year_diff = dates['return'].substring(4) - dates['limit'].substring(4); if (year_diff > 0) { fine = 10000; } else if (month_diff > 0) { fine = month_diff * 500; } else if (date_diff > 0) { fine = date_diff * 15; } else { fine = 0; } console.log(fine + '円');
こうした方が良いよ!というご意見ございましたら、是非コメントいただけると助かります。
よろしくお願い致しますm(_ _)m