ねぎとろ放浪記

ねぎとろ放浪記

個人的備忘録です。勉強したことをまとめていきます。

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


これだけあれば基本的なことはできるはず