[백준] 자기복제수 (2028)(kotlin)

문제 설명

백준 2028번 문제 링크

입력 및 출력

» 입력

입력의 첫 줄에는 테스트 케이스의 개수 T (1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 자연수 N (1 ≤ N ≤ 1000)이 주어진다.

» 출력

각 테스트 케이스에 대해, 주어진 자연수가 자기복제수이면 YES를 아니면 NO를 출력한다.

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

입력 출력
4
1
6
76
89
YES
YES
YES
NO

문제 풀이1

fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
    repeat(readLine().toInt()) {
        val N = readLine()
        val n = N.toInt()
        println(
            if ((n * n) % ts(N.length) == n) "YES"
            else "NO"
        )
    }
}

fun ts(int: Int): Int {
    return when (int) {
        1 -> 10
        2 -> 100
        else -> 1000
    }
}