Repository to keep solutions for Advent of Code 2022 edition. this time I decided to take it in Typescript.
Santa's reindeer typically eat regular reindeer food, but they need a lot of magical energy to deliver presents on Christmas. For that, their favorite snack is a special type of star fruit that only grows deep in the jungle. The Elves have brought you on their annual expedition to the grove where the fruit grows.
To supply enough magical energy, the expedition needs to retrieve a minimum of fifty ⭐s by December 25th. Although the Elves assure you that the grove has plenty of fruit, you decide to grab any fruit you see along the way, just in case.
Collect ⭐s by solving puzzles. Two puzzles will be made available on each day in the Advent calendar; the second puzzle is unlocked when you complete the first. Each puzzle grants one ⭐. Good luck!
⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ 💮💮 💮💮 💮💮 💮💮 💮💮 💮💮 💮💮 💮💮 💮💮 💮💮
- Day 1: Calorie Counting ⌛
- Day 2: Rock Paper Scissors ⌛
- Day 3: Rucksack Reorganization ⌛
- Day 4: Camp Cleanup ⌛
- Day 5: Supply Stacks ⌛
- Day 6: Tuning Trouble ⌛
- Day 7: No Space Left On Device ⌛
- Day 8: Treetop Tree House ⌛
- Day 9: Rope Bridge ⌛
- Day 10: Cathode-Ray Tube ⌛
- Day 11: Monkey in the Middle ⌛
- Day 12: Hill Climbing Algorithm ⌛
- Day 13: Distress Signal ⌛
- Day 14: Regolith Reservoir ⌛
- Day 15: Beacon Exclusion Zone ⌛
- ⏳
Task | Execution time | Result | Complexity (1-3) |
---|---|---|---|
Day 01 | (4,737 rps) / (4,998 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 02 | (2,174 rps) / (2,155 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 03 | (3,831 rps) / (1,639 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 04 | (2,083 rps) / (2,065 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 05 | (6,087 rps) / (5,574 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 06 | (15,840 rps) / (858 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 07 | (5,033 rps) / (4,422 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 08 | Need to be optimized ;) | ⭐ / ⭐ | 1️⃣ / 2️⃣ |
Day 09 | (618 rps) / (412 rps) as well | ⭐ / ⭐ | 2️⃣ / 2️⃣ |
Day 10 | (23 422 rps) / (20966 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 11 | (8847 rps) / (LOL) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 12 | (170 rps) / (163 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 13 | (1,877 rps) / (772 rps) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 14 | (---) / (---) | ⭐ / ⭐ | 1️⃣ / 1️⃣ |
Day 15 | (---) / (---) | ⭐ / ⭐ | 1️⃣ / 2️⃣ |
nvm use
npm install
Run scripts are named by days they are bound to:
To run Day 01 scripts and log their responses, just type:
npm run 01
To run tests:
npm run test
Benchmarks are also in package.json, tu run benchmark, just use number of day with -benchmark after, for example:
npm run 4-benchmark
Very often advanced scripts are using basic scripts to not repeat myself, so You can get multiple results.
- Tasks are grouped in directories with number of day and in files named by complexity, so day 1 will be directory 01 with two files underneath basic.ts and advanced.ts
- There will be also input.txt file in each directory
- Utils scripts will be placed in utils directory
- Benchmarks for everyday solutions together (basic + advanced)
- 📘 src/${day} or utils - implementations
- 📔 assets - various images, mainly
- 📗 src/__tests__ - tests for tasks
- 📖 benchmarks - tasks benchmarks, one suite can have multiple benchmarks when there is more implementations for one task provided
Check out my colleagues repositories, who are also taking part in this year AoC.
- Contes (C#)
Authored completely by Michal "Lidjan" Nicinski @minidmnv