Kotlinの標準入力(競プロ用)
Kotlinで競プロをやる時にしょっちゅう忘れるのでメモ。
1つの数字
val n = readLine()!!.toInt()
入力例 コード 出力例入出力例
12
fun main(){
val n = readLine()!!.toInt()
println(n)
}
12
1行に複数の数字(別々の数として受け取る)
val (a, b, c) = readLine()!!.split(" ").map{it.toInt()}
入力例 コード 出力例入出力例
1 2 3
fun main(){
val (a, b, c) = readLine()!!.split(" ").map{it.toInt()}
println(a)
println(b)
println(c)
}
1
2
3
1行に複数の数字(リストとして受け取る)
val a = readLine()!!.split(" ").map{it.toInt()}
入力例 コード 出力例入出力例
1 2 3
fun main(){
val a = readLine()!!.split(" ").map{it.toInt()}
println(a)
}
[1, 2, 3]
複数行の複数の数字をリストとして受け取る
val maze = (0 until 3).map{readLine()!!.split(' ').map{it.toInt()}}
迷路とか地図の問題で使うやつ
この例では3行
入力例 コード 出力例入出力例
1 2 3
4 5 6
7 8 9
fun main(){
val maze = (0 until 3).map{readLine()!!.split(' ').map{it.toInt()}}
println(maze)
}
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
1つの文字列
val s = readLine()!!
入力例 コード 出力例入出力例
hello
fun main(){
val s = readLine()!!
println(s)
}
hello
1行に複数の文字列
val (s, t) = readLine()!!.split(" ")
入力例 コード 出力例入出力例
hello world
fun main(){
val (s, t) = readLine()!!.split(" ")
println(s)
println(t)
}
hello
world
これだけあれば基本的なことはできるはず