18312번: 시각백준/문제2024. 3. 27. 13:46
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/18312
언어 : Kotlin
문제 설명 :
정수 N과 K가 입력되었을 때 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 K가 하나라도 포함되는 모든 시각을 세는 프로그램을 작성하시오. 시각을 셀 때는 디지털 시계를 기준으로, 초 단위로만 시각을 구분한다.
예를 들어 K=3일 때, 다음의 시각들은 3이 하나 이상 포함되어 있으므로 세어야 하는 시각의 대표적인 예시이다.
- 23시 00분 00초
- 07시 08분 33초
반면에 다음의 시각들은 3이 하나도 포함되어 있지 않으므로 세면 안 되는 예시이다.
- 15시 02분 55초
- 18시 27분 45초
입력 :
첫째 줄에 정수 N과 K가 공백을 기준으로 구분되어 주어진다. (0≤N≤23, 0≤K≤9)
출력 :
00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 K가 하나라도 포함되는 시각들의 수를 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 256MB
입출력 예 :
입력 | 출력 |
5 3 | 11475 |
풀이 :
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 (n, k) = readLine().split(" ")
var cnt = 0
(0 until n.toInt() + 1).forEach { h ->
val strH = if (h < 10) "0$h" else h.toString()
(0 until 60).forEach { m ->
val strM = if (m < 10) "0$m" else m.toString()
(0 until 60).forEach { s ->
val strS = if (s < 10) "0$s" else s.toString()
if (strH.contains(k) or strM.contains(k) or strS.contains(k)) cnt++
}
}
}
bw.write("$cnt")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
2290번: LCD Test (0) | 2024.03.28 |
---|---|
11575번: Affine Cipher (0) | 2024.03.27 |
8892번: 팰린드롬 (0) | 2024.03.27 |
27310번: :chino_shock: (0) | 2024.03.26 |
11383번: 뚊 (0) | 2024.03.26 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!