Advent of Code is an annual Advent calendar of programming puzzles. This year I am doing it in Python.
To run the code of a specific day from the root directory run the following, replacing xx with the day number, 01 - 25. Make sure you use Python 3.9+.
python3 day_xx/main.pyYou may want to replace python3 with python3.9 if the command above doesn't work.
To run the code of all days run the script:
./run_all.shMake sure you have given permission to execute (chmod +x run_all.sh).
| Day | Name | Stars |
|---|---|---|
| 01 | Sonar Sweep | ⭐⭐ |
| 02 | Dive! | ⭐⭐ |
| 03 | Binary Diagnostic | ⭐⭐ |
| 04 | Giant Squid | ⭐⭐ |
| 05 | Hydrothermal Venture | ⭐⭐ |
| 06 | Lanternfish | ⭐⭐ |
| 07 | The Treachery of Whales | ⭐⭐ |
| 08 | Seven Segment Search | ⭐⭐ |
| 09 | Smoke Basin | ⭐⭐ |
| 10 | Syntax Scoring | ⭐⭐ |
| 11 | Dumbo Octopus | ⭐⭐ |
| 12 | Passage Pathing | ⭐⭐ |
| 13 | Transparent Origami | ⭐⭐ |
| 14 | Extended Polymerization | ⭐⭐ |
| 15 | Chiton | ⭐⭐ |
| 16 | Packet Decoder | |
| 17 | Trick Shot | ⭐⭐ |
| 18 | Snailfish | |
| 19 | Beacon Scanner | |
| 20 | Trench Map | ⭐⭐ |
| 21 | Dirac Dice | ⭐ |
| 22 | Reactor Reboot | ⭐ |
| 23 | Amphipod | |
| 24 | Arithmetic Logic Unit | |
| 25 | Sea Cucumber | ⭐ |
To generate the directory for the current day, save your browser cookie in a file called cookie.txt at the root level and run the new day script:
./new_day.shA session cookie is a small piece of data used to authenticate yourself to the
Advent of Code web servers. It is not human-readable and might look something
like this 53616c7465645f5fbd2d445187c5dc5463efb7020021c273c3d604b5946f9e87e2dc30b649f9b2235e8cd57632e415cb.
To learn more about authentication cookies check this Wikipedia article
To get your cookie, go to the Advent of Code website, and while logged in.
- For Firefox: right and select "Inspect Element" and in the "Storage" tab select "Cookies" → "https://adventofcode.com"
- For Chrome: right and select "Inspect" and in the "Application" tab select "Cookies" → "https://adventofcode.com"
Then find the row with "session" as name, copy the value and paste it in your newly created cookie.txt file
black . && isort . && flake8 --max-line-length=100