結果
問題 |
No.32 貯金箱の憂鬱
|
ユーザー |
|
提出日時 | 2019-01-03 17:07:50 |
言語 | Kotlin (2.1.0) |
結果 |
AC
|
実行時間 | 285 ms / 5,000 ms |
コード長 | 1,475 bytes |
コンパイル時間 | 13,523 ms |
コンパイル使用メモリ | 439,752 KB |
実行使用メモリ | 54,304 KB |
最終ジャッジ日時 | 2024-07-23 07:25:55 |
合計ジャッジ時間 | 16,313 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 12 |
コンパイルメッセージ
Main.kt:19:10: warning: parameter 'args' is never used fun main(args: Array<String>) { ^
ソースコード
// No.32 貯金箱の憂鬱 // https://yukicoder.me/problems/no/32 package no01.yukicoder.no32 /** インプットデータ */ data class InputData( /** 100 円硬貨の枚数 */ val yen100: Int, /** 25 円硬貨の枚数 */ val yen25: Int, /** 1 円硬貨の枚数 */ val yen1: Int ) /** * エントリポイント */ fun main(args: Array<String>) { val input = getStandardInput() println(bank(input)) } /** * 硬貨の枚数が最も少なくなるように両替したとき、最小となる硬貨の数を返します。 */ fun bank(input: List<String>): Int { val data = createInputData(input) var i100 = data.yen100 var i25 = data.yen25 var i1 = data.yen1 if (i1 != 0) { i25 += i1 / 25 i1 %= 25 } if (i25 != 0) { i100 += i25 / 4 i25 %= 4 } if (i100 != 0) { i100 %= 10 } return i1 + i25 + i100 } /** * 標準入力から取得した文字列をInputDataに変換して返します。 */ fun createInputData(input: List<String>): InputData { return InputData( input[0].toInt(), input[1].toInt(), input[2].toInt() ) } /** * 標準入力から文字列を全て取得します。 */ fun getStandardInput(): List<String> { val lines = mutableListOf<String>() var line: String? line = readLine() while (line != null) { lines.add(line) line = readLine() } return lines }