Post

Kotlin - PS

코틀린을 이용해 알고리즘 문제 풀이할 때 유용한 팁 정리

입출력

기본 readln() 함수보다 성능이 좋은 bufferedReader를 사용하는 것이 좋습니다.

1
var br = System.`ìn`.bufferedReader()

숫자 이중 배열 입력 받기

1
val intArr:Array<IntArray> = Array<IntArray>(n) { br.readLine().split(" ").map { it.toInt() }.toIntArray() }

자료구조

array

코틀린에서 배열은 다음과 같이 선언 가능합니다.

1
2
3
// 크기 N짜리 배열이 생성되고, 람다 표현식이 실행되어 배열을 초기화합니다.
val arr:Array<String> = Array(N) {br.readLine()}
val arr2:Array<String> = arrayOf("1234","5678")

기본 타입 배열은 다음과 같이 생성 가능합니다.

1
2
3
4
// 1, 2, 3
val intArr:IntArray = intArrayOf(1, 2, 3)
// 0, 1, 2, 3, ~~ N-1
val intArr2:IntArray = IntArray(N) {i}

map & list

코틀린에서 map과 list는 기본적으로 읽기 전용으로 생성되기에, MutableMap 그리고 MutableList로 선언해야합니다.

1
2
3
4
5
val map:MutableMap<Int, Int> = mutableMapOf<Int, Int>()
val map = mutableMapOf(1 to 2, 2 to 3)

val list:MutableList<Int> = mutableListOf()
val list = mutableListOf<Int>(1,2,3)
This post is licensed under CC BY 4.0 by the author.