AdventOfCode/day15
2020-12-15 15:53:41 +09:00
..
day15.exs Rename module 2020-12-15 15:53:41 +09:00
README Day 15 Parts 1 and 2 2020-12-15 15:31:45 +09:00

Day 15 Notes

+--------+
| Part 1 |
+--------+

$ elixir day15.exs 2020
253

Thoughts:

Separate function to set the initial state.
Store the last two round numbers for each answer.
If it's the first time, store the same round number twice, which results in 0
when subtracted.


+--------+
| Part 2 |
+--------+

$ elixir day15.exs 30000000
13710

Thoughts:

I'm not sure if this was supposed to be brute-forcible.

I think it is and that I designed the algorithm efficiently in the first part.
The answer is a bit slow, but that's probably due to all the map updates. Using
a more efficient data structure would probably speed it up - guessing this is
faster in mutable languages.

Anyway, no code changes here, so for this excercise I decided to combine the
two answers, and just specify the last round via the command-line.


+------------------+
| Overall Thoughts |
+------------------+

Did this one pretty quickly. May even have time to go back to day 13 and learn
about the Chinese Remainder Theorem...