[백준] 좋은 자동차 번호판 (1871)(kotlin)

문제 설명

백준 1871번 문제 링크

입력 및 출력

» 입력

첫째 줄에 번호판의 수 N (1 ≤ N ≤ 100)이 주어진다. 다음 N개 줄에는 자동차 번호판이 LLL-DDDD 형식으로 주어진다.

» 출력

각각의 자동차 번호판에 대해서, 좋은 번호판이면 “nice”를, 아니면 “not nice”를 출력한다.

예제 입출력(테스트케이스)

입력 출력
2
ABC-0123
AAA-9999
nice
not nice

문제 풀이1

import kotlin.math.abs
import kotlin.math.pow

fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
    repeat(readLine().toInt()) {
        val licensePlate = readLine().split("-")
        val alphabetToInt = licensePlate[0].foldIndexed(0.0) { idx, acc, ch ->
            acc + (ch - 'A') * 26.0.pow(2 - idx)
        }

        println(
            if (abs(alphabetToInt - licensePlate[1].toInt()) <= 100) "nice"
            else "not nice"
        )
    }
}