초보자의 경기 전공을 위해 Kotlin을 사용할 때의 표준 입력

Kotlin의 표준 입력


Kottlin에서 AtCoder와paiza 기능 검사를 할 때 모든 입력 형식의 표준 입력의 가장 좋은 실천을 멋지게 종합한 사이트가 검색 상위에 없기 때문에 비망록 형식으로 정리해야 한다.
아직 초보자이기 때문에 새로운 입력 형식을 만날 때마다 보충한다.

일방통행


하나의 문자


입력 예
Hello
val s = readLine()!!

하나의 숫자


입력 예
100
val n = readLine()!!.toInt()
readLine()이 문자열로 수신되므로 Int에 역할 할당

여러 문자


입력 예
Hello World
val (s1,s2) = readLine()!!.split(" ")
val s = readLine()!!.split(" ")

여러 개의 숫자


입력 예
1 2
val (n1,n2) = readLine()!!.split(" ").map{ it.toInt() }
val n = readLine()!!.split(" ").map{ it.toInt() }
구분자를 지정할 수 있고 (여기는 반각 공백) 여러 변수에 한 번에 넣을 수 있습니다.
split 할 때 캐릭터 배분 방법이 조금 달라졌어요.
입력 열이 3, 4개가 증가하면 왼쪽의 변수 수량도 증가하거나 1개의 변수를 목록으로 합니다

여러 줄


하나의 문자


입력 예
3
aaa
bb
c
val n = readLine()!!.toInt()
val s = (0 until n).map{readLine()!!}
readLine() 만들기 목록 n회 반복
이 예에서 s에 [aaa,bb,c]와 같은 목록을 포함한다
↓ 결과도 마찬가지
val n = readLine()!!.toInt()
val s = List(n){readLine()!!}
숫자의 경우에도 역할만 할당

두 문자


입력 예
3
aaa zzz
bb yy
c x
val n = readLine()!!.toInt()
val s = (0 until n).map{readLine()!!.split(" ")}
스플릿만 했어요.
이 예에서 s에 [[aaa,zzz],[bb,yy],[c,x]]와 같은 목록을 포함한다
↓ 결과도 마찬가지
val n = readLine()!!.toInt()
val s = List(n){readLine()!!.split(" ")}

여러 개의 숫자


입력 예
3 4
1 11 111 1111
2 22 222 2222
3 33 333 3333
val (n,m) = readLine()!!.split(" ").map{it.toInt()}
val nm = (0 until n).map{readLine()!!.split(" ").map{it.toInt()}}
2~4행[[1,11,111,1111],[2,22,222,2222],[3,33,333,3333]]의 목록

처음 봤을 때 당황하는 타입.


입력 예
2 3
1
11
111
2
22
222
val (n, m) = readLine()!!.split(" ").map {it.toInt()}
val h = List(n) {List(m) {readLine()!!.toInt()}}
두 번째 줄 다음에 [[1, 11, 111], [2, 22, 222]]의 목록이 됩니다.

최후


문장 첫머리에도 썼는데 새로운 입력 형식 문제와 고난도 문제에 공을 들여 입력할 필요가 있다면 언제든지 추모하고 싶습니다.자신처럼 표준 입력에 시달리는 사람들을 도울 수 있다면 좋겠다.

좋은 웹페이지 즐겨찾기