package yukicoder.no70 /** * エントリポイント */ fun main(args: Array) { val in1 = readLine() val in2 = mutableListOf() var line: String? line = readLine() while (line != null) { in2.add(line) line = readLine() } println(sleepTime(in1, in2)) } /** * 寝た時間、起きた時間から睡眠時間の合計を返します。 * @param num 記録の個数 * @param sleepAndGetUpTime 1回の睡眠あたりの寝た時刻と起きた時刻 */ fun sleepTime(@Suppress("UNUSED_PARAMETER") num: String?, sleepAndGetUpTime: List): String { var totalMinute = 0 for (t in sleepAndGetUpTime) { val sp = t.split(":", " ").map { it.toInt() } // 分で保持 val sMinute = sp[0] * 60 + sp[1] var eMinute = sp[2] * 60 + sp[3] if (sMinute > eMinute) { // 日をまたぐ場合は、24時間加算する eMinute += 24 * 60 } totalMinute += eMinute - sMinute } return totalMinute.toString() }