advent-of-code-2022
AdventOfCode
advent-of-code-2022 | AdventOfCode | |
---|---|---|
1 | 15 | |
2 | 2 | |
- | - | |
10.0 | 0.0 | |
over 1 year ago | over 1 year ago | |
Ruby | Python | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
advent-of-code-2022
-
-🎄- 2022 Day 16 Solutions -🎄-
The code is horrible, but performance is great. The basic idea of the algorithm is to consider all the valves we can move to. We compute how long it will take to move to a valve, and we also precompute how much pressure will be released in total by this valve using the remaining time. Then, if there are paths that have an equal distance, we only have to consider the path that has the highest potential pressure release. This drastically reduces the iterations needed, hence the low runtime. Also, the distances are not precomputed, but they are cached. This is more efficient, since we don't need all paths (for example we can skip all paths that have 0 flow rate, as we will never move to them, only pass them).
AdventOfCode
-
-🎄- 2022 Day 24 Solutions -🎄-
Just a basic BFS. My part 2 ran in 1.77 seconds.
-
-🎄- 2022 Day 19 Solutions -🎄-
Here's my solution. It's a bit of a janky script.
-
-🎄- 2022 Day 17 Solutions -🎄-
Yet another Python solution to part 2. My Python code isn't the best but I haven't seen many solutions that detect cycles programmatically.
-
-🎄- 2022 Day 16 Solutions -🎄-
There's nothing particularly nice about my Python solution but in case anyone's interested here it is. I find all points' shortest paths using floodfill and a loop because I couldn't recall Floyd-Warshall. And then it's a DFS, branching every turn when the human or elephant can make a choice to move to another valve and open it. Debugging was tricky.
-
-🎄- 2022 Day 5 Solutions -🎄-
You can check my solutions from last year https://github.com/WilliamLP/AdventOfCode/tree/master/2021 I made it up to day 14 / 17 and used that WITH RECURSIVE / UNNEST / ARRAY_AGG pattern a lot.
- -🎄- 2021 Day 24 Solutions -🎄-
- -🎄- 2021 Day 23 Solutions -🎄-
- -🎄- 2021 Day 22 Solutions -🎄-
-
-🎄- 2021 Day 19 Solutions -🎄-
I got there, but math! It took a few hours, more along the lines of a weekend project than a quick puzzle! The hardest part is working with the 24 orientations I think. I needed to dust off a little bit of linear algebra and used matrices. There are 6 permutations of the 3 coordinates, and 8 flips (+- on each axis). Composing those gives 48 transformations but half of them are the wrong chirality (mirror image) so we want only the half with determinant equal one. After that it's just a bunch of picky loops and debugging. https://github.com/WilliamLP/AdventOfCode/blob/master/2021/day19.py
- -🎄- 2021 Day 14 Solutions -🎄-
What are some alternatives?
adventofcode - Advent of Code solutions of 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 and 2023 in Scala
advent-2021-sql - Advent of Code 2021 using SQL (PostgreSQL-flavored)
adventofcode - Solutions for problems from AdventOfCode.com
adventofcode - my solutions to advent of code
Advent-of-Code - A repository holding all of my solutions to Advent of Code problems
adventofcode - my solutions to the adventofcode.com puzzles
adventofcode
advent-of-raku-2022 - 2022 Advent of Code solutions in the Raku programming language
aoc2022 - Advent of Code 2022
aoc_2022
advent-of-code-2022 - Advent of Code 2022 – Object-Oriented Solutions in Java: https://www.happycoders.eu/algorithms/advent-of-code-2022/
advent_of_code_2022 - Kotlin solutions to the Advent of Code 2022 puzzles