[백준] 알람 시계 (2884)(kotlin)

문제 설명

백준 2884번 문제 링크

입력 및 출력

» 입력

  • 첫째 줄에 두 정수 H와 M이 주어진다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 현재 상근이가 설정한 놓은 알람 시간 H시 M분을 의미한다. 입력 시간은 24시간 표현을 사용한다. 24시간 표현에서 하루의 시작은 0:0(자정)이고, 끝은 23:59(다음날 자정 1분 전)이다. 시간을 나타낼 때, 불필요한 0은 사용하지 않는다.

» 출력

첫째 줄에 상근이가 창영이의 방법을 사용할 때, 설정해야 하는 알람 시간을 출력한다. (입력과 같은 형태로 출력하면 된다.)

예제 입출력(테스트케이스)

입력 출력
10 10 9 25
0 30 23 45
23 40 22 55

문제 풀이1

import java.io.BufferedReader
import java.io.InputStreamReader

fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
    var time = readLine().split(" ").map { it.toInt() }.toMutableList()

    val min = time[1] - 45
    if (min < 0) {
        time[1] = 60 + min
        time[0] -= 1
    } else {
        time[1] = min
    }

    if (time[0] < 0) {
        time[0] = 23
    }

    println(time.joinToString(" "))
}