Skip to content

Commit

Permalink
[2024/22] Refactor part 2
Browse files Browse the repository at this point in the history
  • Loading branch information
pfolta committed Dec 23, 2024
1 parent dab3b6a commit c842854
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/main/kotlin/adventofcode/year2024/Day22MonkeyMarket.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,17 @@ class Day22MonkeyMarket(customInput: PuzzleInput? = null) : Puzzle(customInput)
override fun partTwo() =
buildMap {
secretNumbers
.map { secretNumber -> secretNumber.evolve(2000).map { i -> i % 10 }.toList() }
.map { secretNumber ->
secretNumber
.evolve(2000)
.map { number -> number % 10 }
.toList()
}
.forEach { sequence ->
sequence
.windowed(5, 1)
.map { it.zipWithNext { a, b -> b - a } to it.last() }
.distinctBy { (a, _) -> a }
.map { slice -> slice.zipWithNext { a, b -> b - a } to slice.last() }
.distinctBy { (changes, _) -> changes }
.forEach { (key, value) ->
this[key] = (this[key] ?: 0L) + value
}
Expand Down

0 comments on commit c842854

Please sign in to comment.