Day 01
This commit is contained in:
parent
3975bb9f02
commit
9ced28a855
2 changed files with 1036 additions and 0 deletions
36
src/day01.scala
Normal file
36
src/day01.scala
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue