complete day 3

This commit is contained in:
WanCW 2024-12-03 14:09:56 +08:00
parent 10e59bd5ba
commit c9ca250a9a
Signed by: wancw
GPG key ID: 1A22F8C8D1877952
2 changed files with 34 additions and 0 deletions

13
03-a.kts Normal file
View file

@ -0,0 +1,13 @@
import java.util.Scanner
import java.util.regex.Pattern
val pattern: Pattern = Pattern.compile("mul\\([0-9]+,[0-9]+\\)")
val scanner = Scanner(System.`in`)
var sum = 0
while (true) {
val next: String = scanner.findWithinHorizon(pattern, 0) ?: break
sum += next.replace("mul(", "").replace(")", "").split(",").map { it.toInt() }.let { (a, b) -> a*b }
}
println(sum)

21
03-b.kts Normal file
View file

@ -0,0 +1,21 @@
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)