結果

問題 No.49 算数の宿題
コンテスト
ユーザー javy
提出日時 2015-11-28 06:44:01
言語 Kotlin
(2.3.20)
コンパイル:
kotlinc _filename_ -include-runtime -d main.jar
実行:
kotlin main.jar
結果
AC  
実行時間 206 ms / 5,000 ms
コード長 1,620 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 10,395 ms
コンパイル使用メモリ 456,392 KB
実行使用メモリ 51,116 KB
最終ジャッジ日時 2026-05-29 04:36:38
合計ジャッジ時間 14,137 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 10
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package Yukicoder

import java.util.regex.Pattern

/**
 * Created by hichikawa on 2015/11/12.
 */
fun main(args: Array<String>) {
    fun readLineLongArray(): List<Long> {
        val str = readLine() as String
        val arrStr = str.split(" ")
        val ret = arrStr.map { it.toLong() }
        return ret
    }

    fun readLineLong(): Long {
        val str = readLine() as String
        return str.toLong()
    }

    fun readLineInt(): Int {
        val str = readLine() as String
        return str.toInt()
    }

    fun readLineIntArray() : List<Int> {
        val str = readLine() as String
        val arrStr = str.split(" ")
        val ret = arrStr.map { it.toInt() }
        return ret
    }

    fun readLineDoubleArray(): List<Double> {
        val str = readLine() as String
        val arrStr = str.split(" ")
        val ret = arrStr.map { it.toDouble() }
        return ret
    }



    var str = readLine() as String
    val pTasu : Pattern = Pattern.compile("^(\\d+)\\+(\\d+)")
    val pKake : Pattern = Pattern.compile("^(\\d+)\\*(\\d+)")
//    val p : Pattern = Pattern.compile("(\\d+)\\+")
    while (true) {
        val mTasu = pTasu.matcher(str)
        if (mTasu.find()) {
            str = mTasu.replaceFirst((mTasu.group(1).toInt()*mTasu.group(2).toInt()).toString())
//            println(str)
            continue
        }
        val mKake = pKake.matcher(str)
        if (mKake.find()) {
            str = mKake.replaceFirst((mKake.group(1).toInt()+mKake.group(2).toInt()).toString())
//            println(str)
            continue
        }
        break
    }
    println(str)
}
0