day4 (kotlin-ify)

This commit is contained in:
Stefan Forstenlechner 2022-12-04 18:43:06 +01:00
parent cdad4691f0
commit 94a057e001
1 changed files with 6 additions and 8 deletions

View File

@ -1,6 +1,4 @@
import java.io.File import java.io.File
import java.lang.Integer.max
import java.lang.Integer.min
fun main() { fun main() {
println("Hello day4!") println("Hello day4!")
@ -19,20 +17,20 @@ fun solveDay4() {
fun conpleteOverlap(line: String): Boolean { fun conpleteOverlap(line: String): Boolean {
val number = "(\\d+)-(\\d+),(\\d+)-(\\d+)".toRegex() val number = "(\\d+)-(\\d+),(\\d+)-(\\d+)".toRegex()
val l = number.find(line)!!.groupValues.stream().skip(1).map { Integer.valueOf(it) }.toList() val l = number.find(line)!!.groupValues.drop(1).map { Integer.valueOf(it) }
val min = min(l[0], l[2]) val min = minOf(l[0], l[2])
val max = max(l[1], l[3]) val max = maxOf(l[1], l[3])
return (min == l[0] && max == l[1]) || (min == l[2] && max == l[3]) return (min == l[0] && max == l[1]) || (min == l[2] && max == l[3])
} }
fun partialOverlap(line: String): Boolean { fun partialOverlap(line: String): Boolean {
val number = "(\\d+)-(\\d+),(\\d+)-(\\d+)".toRegex() val number = "(\\d+)-(\\d+),(\\d+)-(\\d+)".toRegex()
val l = number.find(line)!!.groupValues.stream().skip(1).map { Integer.valueOf(it) }.toList() val l = number.find(line)!!.groupValues.drop(1).map { Integer.valueOf(it) }.toList()
val max = max(l[0], l[2]) val max = maxOf(l[0], l[2])
val min = min(l[1], l[3]) val min = minOf(l[1], l[3])
return min >= max return min >= max
} }