Solutions for Advent of Code
Funny that original 2023 day 5 also was a PITA to figure out. Pt 1 was solved using BFS to flood-fill. After trying some different methods for pt 2, including: - wallcrawling, - side couting, - corner counting I never produced code to get past the test cases. - Wall crawling are hard due to overlapping regions. - corner couting and side counting are both hard, but will act as equally good solutions (since side count equals corner count). - Concave corners are hard, convex corners are easy. The final code is based on the posts on the solutions megathread. Changes: - Keep all areas in a set, defining a region. - find all convex and concave corners in each region. A new helper got introduced: Di, storing all diagonal neighbors for grid traversing. Convex corners: .. R. .R .. R. .. .. .R Concave corners: RR .R R. RR .R RR RR R. |
||
|---|---|---|
| 2015-elixir | ||
| 2015-elixir-2 | ||
| 2015-python | ||
| 2016-python | ||
| 2016-python2 | ||
| 2017-python | ||
| 2018-elixir | ||
| 2018-python | ||
| 2019-elixir | ||
| 2020-elixir | ||
| 2020-python | ||
| 2021-elixir | ||
| 2021-python | ||
| 2022-elixir | ||
| 2023-python | ||
| 2024-python | ||
| leaderboard | ||
| .gitignore | ||
| fetch-calendar | ||
| fetch-input | ||
| README.md | ||
Advent of Code 2015–
Here all solved puzzles for Advent of Code are kept for reference. Most solutions are written in Python, but there are also solutions written in Elixir.
- Initial runs from 2016–2020 are squashed in version control, so the original thoughts/rants about the solution are forgotten for future generations.
- 2021 onwards, each solution will have a separate commit. This also includes revisiting old events.
Where are the puzzle input files?
For many years, this repository had all puzzle inputs under version control. They are not anymore, although the scripts asumed they are downloaded and stored locally in a subdirectory, which is ignored by version control.
The reasons:
- Neither you or me do have permission to reproduce or redistribute them, they are not released under public domain or MIT/BSD/GPL or any other license.
- The author behind advent of code have kindly asked us who attend Advent of Code to not release them, since publiced puzzle inputs cen be used to copy the site and steal the AoC creator's work.
Sources: