๐ Here are my solutions to the Advent of Code challenges! ๐
Eric Wastl, the creator of the Advent of Code challenge describes it as:
An Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as a speed contest, interview prep, company training, university coursework, practice problems, or to challenge each other.
Each day consists of two puzzles. To complete the challenge, you must solve all of the puzzles by December 25th.
I'm adding a README.md to each day and each part, which contains the instructions exactly as they were displayed on https://adventofcode.com/ (apart from some styling as that often isn't possible to do in a Markdown file).
In this repository you can find all of my solutions to the Advent of Code challenges. All of them are put into folders as shown below:
+--+ Year
+--+ Day
+--+ Part
+--- README.md
+--- input-example.txt
+--- input.txt
+--- output-example.txt
+--- output.txt
+--- solution.js
For each task you can find example input and output files as well as files with the actual input and output. You can also find a file called solution.js
which is the solution file.
To run the solution, make sure there is an input.txt
file in the folder, navigate to the folder and run node solution.js
. The output is then saved into the output.txt
file.
Year | Event link | My solutions |
---|---|---|
2020 | adventofcode.com/2020 | Pandicon/Advent-of-Code/2020 |
2021 | adventofcode.com/2021 | Pandicon/Advent-of-Code/2021 |
Difficulty explanation: S (Simple), M (Medium), D (Difficult), - (Haven't solved yet, can not judge). The difficulty is always in an A/B format, which expresses the difficulty of part 1 (A) and part 2 (B).
2020
Day | Difficulty | Keywords |
---|---|---|
1 | S/S | Finding 2/3 numbers summing to 2020 |
2 | S/S | String validation, XOR |
3 | S/S | Counting |
4 | S/S | String validation |
5 | S/S | Binary numbers, finding missing number |
6 | S/S | Finding elements present in some/all arrays |
7 | -/- | - |
8 | -/- | - |
9 | -/- | - |
10 | -/- | - |
11 | -/- | - |
12 | -/- | - |
13 | -/- | - |
14 | -/- | - |
15 | -/- | - |
16 | -/- | - |
17 | -/- | - |
18 | -/- | - |
19 | -/- | - |
20 | -/- | - |
21 | -/- | - |
22 | -/- | - |
23 | -/- | - |
24 | -/- | - |
25 | -/- | - |
Day | Difficulty | Keywords |
---|---|---|
1 | S/S | Number/Sum comparison |
2 | S/S | Working with coordinates |
3 | S/S | Finding most/least common strings |
4 | S/S | Finding the best/worst bingo board |
5 | S/S | Counting crossings |
6 | S/M | Loops/Logical maths |
7 | S/S | Logical maths/Loops |
8 | S/D | Loops, decoding |
9 | S/M | Finding lowest number from neighbours, getting area within borders |
10 | S/S | Detecting incorrect sequences, completing sequences |
11 | S/S | Process simulation |
12 | S/S | Finding all paths |
13 | S/S | Folding paper, finding overlaps |
14 | S/M | Process simulation |
15 | S/S | Pathfinding |
16 | H/H | Decoding |
17 | S/S | Process simulation |
18 | -/- | - |
19 | -/- | - |
20 | -/- | - |
21 | -/- | - |
22 | -/- | - |
23 | -/- | - |
24 | -/- | - |
25 | -/- | - |