문제
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net

풀이
한수는 각 자리수가 등차수열이 만들어지는 숫자다. 예를 들어 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 |