문제
풀이
한수는 각 자리수가 등차수열이 만들어지는 숫자다. 예를 들어 123은 자리수가 1 씩 증가하는 등차수열이므로 한수이다.
입력된 숫자 N이 100 미만이라면 모두 한수이므로 출력할 cnt는 N이다.
입력된 숫자 N이 100 이상인 경우에는 백의 자리: i/100, 십의 자리 : (i/10)%10, 일의 자리 i%10를 비교한다.
각 자리수를 비교하여 차이가 같다면 한수이므로 cnt를 1 증가시켜준다.
코드
fun main() {
val br = System.`in`.bufferedReader()
val bw = System.out.bufferedWriter()
val num = br.readLine().toInt()
var cnt = 0
if(num < 100) {
cnt = num
} else {
cnt = 99
for(i in 100 .. num) {
val h = i/100
val t = (i/10)%10
val o = i%10
if(h - t == t - o) {
cnt++
}
}
}
bw.write("$cnt")
bw.flush()
bw.close()
br.close()
}
'알고리즘 > Baekjoon' 카테고리의 다른 글
[백준] 1316번: 그룹 단어 체커 - Kotlin[코틀린] (0) | 2023.07.17 |
---|---|
[백준] 10828번: 스택 - Kotlin[코틀린] (0) | 2023.07.15 |
[백준] 4673번: 셀프 넘버 - Kotlin[코틀린] (0) | 2023.07.13 |
[백준] 2839번: 설탕 배달 - Kotlin[코틀린] (0) | 2023.07.12 |
[백준] 1002번: 터렛 - Kotlin[코틀린] (0) | 2023.07.06 |