This commit is contained in:
Paul-Henri Froidmont 2024-12-01 16:35:08 +01:00
parent 3975bb9f02
commit 9ced28a855
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
2 changed files with 1036 additions and 0 deletions

1000
input/day01 Normal file

File diff suppressed because it is too large Load diff

36
src/day01.scala Normal file
View file

@ -0,0 +1,36 @@
package aoc
package day01
val dayNumber = "01"
@main def part1: Unit =
println(part1(loadInput(dayNumber)))
@main def part2: Unit =
println(part2(loadInput(dayNumber)))
def part1(input: String): String =
val Array(ls, rs) = input
.split("\n")
.map { case s"$left $right" =>
Array(left.toInt, right.toInt)
}
.transpose
ls.sorted
.zip(rs.sorted)
.map { case (left, right) =>
Math.abs(right - left)
}
.sum
.toString
def part2(input: String): String =
val Array(ls, rs) = input
.split("\n")
.map { case s"$left $right" =>
Array(left.toInt, right.toInt)
}
.transpose
ls.map(n => n * rs.count(_ == n)).sum.toString