Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0xb01u/aoc2021
My solutions to 2021's Advent of Code: https://adventofcode.com/2021/about
https://github.com/0xb01u/aoc2021
3ds 3ds-homebrew advent-of-code advent-of-code-2021 aoc aoc2021 lua puzzle python
Last synced: about 1 month ago
JSON representation
My solutions to 2021's Advent of Code: https://adventofcode.com/2021/about
- Host: GitHub
- URL: https://github.com/0xb01u/aoc2021
- Owner: 0xb01u
- Created: 2021-12-01T20:46:03.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-29T12:11:02.000Z (about 2 years ago)
- Last Synced: 2024-11-12T07:23:42.613Z (3 months ago)
- Topics: 3ds, 3ds-homebrew, advent-of-code, advent-of-code-2021, aoc, aoc2021, lua, puzzle, python
- Language: Python
- Homepage:
- Size: 197 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Advent of Code 2021
My solutions to 2021's [Advent of Code](https://adventofcode.com/2021/about).The solutions are provided in Python, Lua, and as homebrew Nintendo 3DS programs (C++).
Each day has its own `README.md` file with the corresponding puzzle's description, automatically transformed into markdown, to ease the remembering and understanding of the solutions. Obviously, the creator of these puzzles and descriptions is [Eric Wastl](https://twitter.com/ericwastl).
Each program responsible for solving a puzzle also checks that the output generated is my own correct solution to that puzzle (which is hardcoded into the source code after solving the puzzle). This is done with an `assert` in the last (or second to last, if there's an `exit()`) line executed in the program. The programs also have some commented-out debug lines, or other explanations, to give some insight about how their development process went.
There were no specific objectives set for the solutions' code in terms of time, memory or code quality optimizations. My only goal was to code the solutions in languages I wanted to get more used to (Lua and 3DS C++).
**EDIT:** As much as I would like to code the solutions for all the days using Lua and C++, programming these kind of puzzles using those languages requires writing considerable amounts of boilerplate code for minor functionalities. In that regard, coding the solutions in Python seems like the right decision due to its builtin functionalities and flexibility. Lua and C++ offer no more advantage to me than learning a new language; however, recoding solutions that in Python take considerably less effort to program, or programming the Python builtin functionalities in these languages feels like a pointless chore. I feel like the right move to ease programming the solutions in these languages would be to expand my utility libraries to add some (more) of those Python builtin functionalitites. However, I don't have the time or desire to do so right now. Besides, adding functions to a language so that it feels more like another languge doesn't seem like the best way of learning that language.
~~I may or may not drop midway through the event. Puzzles completion is not guaranteed.~~
## Unfinished days
**Python**
- Day 24 is not generic. The puzzle was solved by hand, and the programs are only used to validate the solution.**Lua**
- Day 8, part 2.
- Day 15, part 2.
- Days 16-25.**3DS C++**
- Day 4.
- Day 5.
- Days 8-25.