1065번: 한수백준/문제2024. 5. 13. 14:10
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/1065
언어 : Kotlin
문제 설명 :
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
입력 :
첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.
출력 :
첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.
제한 사항 :
- 시간 제한 : 2초
- 메모리 제한 : 128MB
입출력 예 :
입력 | 출력 |
110 | 99 |
1 | 1 |
210 | 105 |
1000 | 144 |
500 | 119 |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val num = readLine().toInt()
when {
num < 100 -> bw.write("$num")
else -> {
var cnt = 99
(100 .. num).forEach {
val cur = it.toString().chunked(1).map { it.toInt() }
if (cur[0] - cur[1] == cur[1] - cur[2]) cnt++
}
bw.write("$cnt")
}
}
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
10039번: 평균 점수 (0) | 2024.05.13 |
---|---|
1712번: 손익분기점 (0) | 2024.05.13 |
2558번: A+B - 2 (0) | 2024.05.13 |
24479번: 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2024.05.10 |
1431번: 시리얼 번호 (0) | 2024.05.10 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!