結果

問題 No.70 睡眠の重要性!
コンテスト
ユーザー yo-kondo
提出日時 2018-03-25 10:33:50
言語 Kotlin
(2.3.20)
コンパイル:
kotlinc _filename_ -include-runtime -d main.jar
実行:
kotlin main.jar
結果
AC  
実行時間 222 ms / 5,000 ms
コード長 1,071 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 8,462 ms
コンパイル使用メモリ 461,380 KB
実行使用メモリ 57,128 KB
最終ジャッジ日時 2026-05-14 17:22:15
合計ジャッジ時間 10,746 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 6
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package yukicoder.no70

/**
 * エントリポイント
 */
fun main(args: Array<String>) {
    val in1 = readLine()
    val in2 = mutableListOf<String>()
    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>): 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()
}
0