結果
問題 |
No.164 ちっちゃくないよ!!
|
ユーザー |
|
提出日時 | 2018-04-05 04:03:32 |
言語 | Kotlin (2.1.0) |
結果 |
AC
|
実行時間 | 431 ms / 2,000 ms |
コード長 | 973 bytes |
コンパイル時間 | 11,602 ms |
コンパイル使用メモリ | 434,272 KB |
実行使用メモリ | 60,432 KB |
最終ジャッジ日時 | 2024-11-20 15:22:07 |
合計ジャッジ時間 | 16,710 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 |
コンパイルメッセージ
Main.kt:8:10: warning: parameter 'args' is never used fun main(args: Array<String>) { ^ Main.kt:14:61: warning: unnecessary non-null assertion (!!) on a non-null receiver of type Char val decimalArray = lines.map { charToDecimalInt(it.max()!!) + 1 }.requireNoNulls() ^ Main.kt:22:14: warning: 'toInt(): Int' is deprecated. Conversion of Char to Number is deprecated. Use Char.code property instead. char.toInt() - CHAR_TO_INT ^
ソースコード
package net.ipipip0129.kotlin.yukicoder import java.math.BigInteger import kotlin.math.pow const val CHAR_TO_INT = 55 fun main(args: Array<String>) { val count = readLine()!!.toInt() // 値読み込み 先頭の0を除去 val lines = (0 until count).map { readLine()!!.replace("^0*".toRegex(), "") }.requireNoNulls() // 各値の進数を格納 val decimalArray = lines.map { charToDecimalInt(it.max()!!) + 1 }.requireNoNulls() // すべてを10進数に変換し最小値を出力 println(lines.mapIndexed( {index, s -> convertDecimal(s, decimalArray[index]) }).min()) } // 文字をN進数へ変換 fun charToDecimalInt(char: Char): Int { return if (!char.toString().contains(Regex("""\d"""))) { char.toInt() - CHAR_TO_INT } else { char.toString().toInt() } } // 10進数へ変換 fun convertDecimal(num: String, decimal: Int): BigInteger { return BigInteger(num, decimal) }