aoc-old/aoc/src/main/scala/aoc/y2018/Day02.scala

23 lines
650 B
Scala

package aoc.y2018
import aoc._
object Day02 extends Day {
override def part1(input: String): String = {
val lines = input.lines.toList
val groups = lines.map(_.groupBy(identity))
val twos = groups.count(_.values.exists(_.length == 2))
val threes = groups.count(_.values.exists(_.length == 3))
(twos * threes).toString
}
override def part2(input: String): String = {
val lines = input.lines.toList
val distanceMap = lines.flatMap(s => lines.map(c => ((s, c), levenshtein(s, c)))).toMap
val ((s, c), _) = distanceMap.filter {case (_, d) => d > 0 }.minBy { case (_, d) => d }
s.intersect(c).mkString
}
}