21 lines
No EOL
559 B
Kotlin
21 lines
No EOL
559 B
Kotlin
import java.util.Scanner
|
|
import java.util.regex.Pattern
|
|
|
|
val pattern: Pattern = Pattern.compile("mul\\([0-9]+,[0-9]+\\)|do\\(\\)|don't\\(\\)")
|
|
|
|
val scanner = Scanner(System.`in`)
|
|
|
|
var sum = 0
|
|
var enabled = true
|
|
while (true) {
|
|
val next: String = scanner.findWithinHorizon(pattern, 0) ?: break
|
|
|
|
when (next) {
|
|
"do()" -> enabled = true
|
|
"don't()" -> enabled = false
|
|
else -> if (enabled) {
|
|
sum += next.replace("mul(", "").replace(")", "").split(",").map { it.toInt() }.let { (a, b) -> a*b }
|
|
}
|
|
}
|
|
}
|
|
println(sum) |