알고리즘 문제 풀이/백준
[Algorithm] 백준 - 알람 시계 (2884) (Kotlin)
참깨빵위에참깨빵_
2024. 6. 6. 19:50
728x90
반응형
입력받은 2가지 숫자를 24시간 표현에 맞게 고쳐서 출력하면 된다.
fun main() {
var (hour, min) = readln().split(" ").map { it.toInt() }
min -= 45
if (min < 0) {
min += 60
hour -= 1
}
if (hour < 0) {
hour = 23
}
println("$hour $min")
}
입력받은 숫자 중 첫 번째가 시, 두 번째가 분이라고 생각한다. 이 때 45분 이른 시간을 구해야 하기 때문에 min에서 45를 뺀다.
이 때 min이 음수가 될 수 있다. 10을 입력받은 경우 10 - 45 = -35기 때문에 이 음수를 양수로 보정하는 처리가 필요하다.
우리가 시간을 계산할 때 계산 과정을 생각해 보자. 10시 10분에서 45분 빠른 시간을 구한다면 우선 10에서 1을 빼고, 그 후 10에서 45를 뺀 다음 60을 더한다. 10 - 45 + 60이 되어 25가 되고, 결국 9시 25분이 구하는 시간이 된다.
이것을 코드로 옮긴 것이 아래 부분이다.
min -= 45
if (min < 0) {
min += 60
hour -= 1
}
반응형