Adding day 2

This commit is contained in:
Xavier Morel
2018-12-05 10:03:12 +01:00
parent a467472e83
commit d4d1f95619
2 changed files with 34 additions and 0 deletions

18
day2/part1.scala Normal file
View File

@@ -0,0 +1,18 @@
import scala.io.StdIn._
val res = Iterator
.continually(readLine)
.takeWhile(_ != null)
.toList
.map {
entry => val counts = entry
.groupBy(_.charValue)
.mapValues(_.length)
.values
(counts.find(_ == 2), counts.find(_ == 3))
}
.foldLeft((0, 0)) {
(acc, item) => (acc._1 + item._1.map(_ => 1).getOrElse(0),
acc._2 + item._2.map(_ => 1).getOrElse(0)) }
println(res._1 * res._2)

16
day2/part2.scala Normal file
View File

@@ -0,0 +1,16 @@
import scala.io.StdIn._
val items = Iterator
.continually(readLine)
.takeWhile(_ != null)
.toList
val res = items
.combinations(2)
.map(x => x(0) zip x(1))
.dropWhile(_.count(t => t._1 != t._2) != 1)
.map(_.filter(t => t._1 == t._2).map(_._1))
.next
println(res.mkString(""))