Dive into Coding Life

AtCoder:5 ABC087B – Coins

25/12/2020

https://atcoder.jp/contests/abs/tasks/abc087_b
問題文は上記リンクを参照。

KotlinではreadLine()というグローバル関数がありますね。
これを使えばScannerクラスを使わずに標準入力を受け取れます。

val a = readLine()!!.toInt()
val b = readLine()!!.toInt()
val c = readLine()!!.toInt()
val x = readLine()!!.toInt()

以下のような書き方がありました。

val (a, b, c, x) = (0..3).map { readLine()!!.toInt() }

https://atcoder.jp/contests/abs/submissions/18081327
各行を1つずつ読み込まなくても、最初に(0..3)のコレクションを作成し、map関数で各要素に対しreadLine()を行えば、初期化処理が1行で書けるんですね。