[백준] 날짜 계산 (1476)(kotlin)

문제 설명

백준 1476번 문제 링크

입력 및 출력

» 입력

첫째 줄에 세 수 E, S, M이 주어진다. 문제에 나와있는 범위를 지키는 입력만 주어진다.

» 출력

첫째 줄에 E S M으로 표시되는 가장 빠른 연도를 출력한다. 1 1 1은 항상 1이기 때문에, 정답이 음수가 나오는 경우는 없다.

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

입력 출력
1 16 16 16
1 1 1 1
1 2 3 5266
15 28 19 7980

문제 풀이1

fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
    val (e, s, m) = readLine().split(" ").map { it.toInt() }

    var ecopy = 1
    var scopy = 1
    var mcopy = 1
    var count = 1

    while (true) {
        if (e == ecopy && s == scopy && m == mcopy) break
        ecopy++; scopy++; mcopy++; count++
        if (ecopy > 15) ecopy = 1
        if (scopy > 28) scopy = 1
        if (mcopy > 19) mcopy = 1
    }

    println(count)
}