Day 13: use built in transpose
This commit is contained in:
parent
ff834ac43a
commit
d5e1e549d6
1 changed files with 2 additions and 7 deletions
|
|
@ -9,11 +9,6 @@ val dayNumber = "13"
|
|||
@main def part2: Unit =
|
||||
println(part2(loadInput(dayNumber)))
|
||||
|
||||
def transpose(grid: List[String]): List[String] =
|
||||
List.tabulate(grid.head.length)(x =>
|
||||
Array.tabulate(grid.length)(y => grid(y)(x)).mkString
|
||||
)
|
||||
|
||||
def part1(input: String): String =
|
||||
def findReflection(rows: List[String]): Option[Int] =
|
||||
(1 until rows.length).find(i =>
|
||||
|
|
@ -27,7 +22,7 @@ def part1(input: String): String =
|
|||
.flatMap(pattern =>
|
||||
findReflection(pattern)
|
||||
.map(_ * 100)
|
||||
.orElse(findReflection(transpose(pattern)))
|
||||
.orElse(findReflection(pattern.transpose.map(_.mkString)))
|
||||
)
|
||||
.sum
|
||||
.toString
|
||||
|
|
@ -48,7 +43,7 @@ def part2(input: String): String =
|
|||
.flatMap(pattern =>
|
||||
findReflection(pattern)
|
||||
.map(_ * 100)
|
||||
.orElse(findReflection(transpose(pattern)))
|
||||
.orElse(findReflection(pattern.transpose.map(_.mkString)))
|
||||
)
|
||||
.sum
|
||||
.toString
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue