split
구분자를 지정해 split할 수 있다.
map
중괄호 람다함수식을 이용해 int로 바꿀 수 있다.
let
호출 대상이 0이 아닌 경우에만 열리니 null safe 기능을 가지고 있다.
let 내부에서는 전달된 객체를 it으로 사용할 수 있다. (람다함수식으로 표현 가능)
?
?. : 안전한 호출 연산자
현재 x는 Int?타입으로 선언되어있음 nullable이기 때문에 null에 관한 처리를 해줌
nullable
- Non-Nullable 타입: val name: String = "Alice"
- Nullable 타입: val name: String? = null
Kotlin에서는 안전한 호출 연산자(?.)를 사용하여 Nullable 변수에 접근할 수 있다. 이 연산자는 해당 변수나 객체가 null일 경우 null을 반환하고, null이 아닐 경우 특정 작업을 수행합니다.
내 코드
gpt에게 문법 도움을 받으며 작성
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val t = br.readLine().toInt()
repeat(t) {
val group = br.readLine()
?.split(" ")
?.map { it.toInt() }
// h, w, n
val x: Int? = group?.let {
if (it[2] % it[0] == 0)
it[2] / it[0]
else
(it[2] / it[0]) + 1
}
val y: Int? = group?.let {
if (it[2] % it[0] == 0)
it[0]
else
it[2] % it[0]
}
val result: String = y.toString() + x?.let {
if (it < 10)
"0$it"
else it.toString()
}
println(result)
}
}
'코딩테스트 > BaekJoon' 카테고리의 다른 글
[kotlin] BOJ 2577 숫자의 개수 (0) | 2024.10.23 |
---|---|
[kotlin] BOJ 1152 단어의 개수 (1) | 2024.10.23 |
[Kotlin] BOJ_2562 최댓값 (1) | 2024.10.22 |
[백준]파이썬: 오븐시계(2525번) (0) | 2022.12.06 |
[백준]파이썬: 두 수 비교하기(1330번) (0) | 2022.12.06 |