[백준] 캔디 구매 (2909)(kotlin)
문제 설명
입력 및 출력
» 입력
첫째 줄에 사탕의 가격 C와 상근이가 가지고 있는 지폐의 액면가에 적혀있는 0의 개수 K가 주어진다. (0 ≤ C ≤ 1,000,000,000, 0 ≤ K ≤ 9)
» 출력
첫째 줄에 상근이가 내야하는 가격을 출력한다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
184 1 | 180 |
문제 풀이1
import kotlin.math.pow
fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
val (C, K) = readLine().split(" ").map { it.reversed() }
var up = false
val cost = C.mapIndexed { index, c ->
when {
index < K.toInt() - 1 -> '0'
index == K.toInt() - 1 -> {
if (c >= '5') up = true
'0'
}
else -> c
}
}.reversed()
.joinToString("")
.toInt() + if (up) 10.0.pow(K.toInt()) else 0.0
println(cost.toInt())
}