aoc21
advent-of-code
aoc21 | advent-of-code | |
---|---|---|
4 | 14 | |
2 | 70 | |
- | - | |
0.0 | 8.5 | |
over 1 year ago | 5 months ago | |
Crystal | JavaScript | |
- | MIT License |
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.
aoc21
-
Advent of Code Day 24: Computing with Sets
The way I solved this was by squinting a little and realizing that every time a div instruction happened, then a certain number following it needed to be 0, depending on the value of certain constants embedded in the code, and also on certain other fields in the input. So instead of starting with an input number, it is possible to calculate the min and max values the fields may contain right there, as long as we embed the field positions in a stack.
As this is only going through the code once, this is virtually instantaneous and ended up as the day that was fastest of all days to compute.
https://github.com/yxhuvud/aoc21/blob/main/day24.cr
-
[2021] Solving AoC with Rust before Python can start
My solution, https://github.com/yxhuvud/aoc21/blob/main/all_days.cr :
-
Speeding up Dijkstra by a factor of 2700
Yes, though sometimes it is possible to replace a fully general priority queue with a faster structure that is using the structure of the problem at hand. For example, this problem (AoC day 15) has only ever a count of unique priorities that is 10 or fewer. That allows a queue implementation to be https://github.com/yxhuvud/aoc21/blob/main/day15.cr#L27-L51 , being amortized O(1) in both insertion and deletion. This pushed down the runtime another magnitude for me, the whole day running at 0.014s.
- -🎄- 2021 Day 18 Solutions -🎄-
advent-of-code
- [2022] Relevant XKCD: Game AIs
-
-🎄- 2021 Day 24 Solutions -🎄-
For a full write-up, see this repo, and for a non-annotated solution, see:
-
-🎄- 2021 Day 18 Solutions -🎄-
Otherwise, the main way I solved this was with a flat list of tokens rather than a truly nested structure. This was very similar to last year's Day 18, which I also solved in a similar manner.
-
-🎄- 2021 Day 9 Solutions -🎄-
Code can be found in this repo.
-
-🎄- 2021 Day 7 Solutions -🎄-
code
-
-🎄- 2021 Day 5 Solutions -🎄-
First 2D one! Got to reuse my InfiniteGrid class, which made this much easier.
-
How to beat AOC 2019, day 13, part 2?
Mine only took about 2 minutes when I originally recorded it. I've since added some optimizations to my Intcode computer, and re-running my original program with the optimized computer now runs in about 45 seconds. 😁
-
[2015 Day 19 (Part 2)] I don't want specifics, but can someone point me in which direction I should work this problem?
Here is my solution in JS, which also has a long comment explaining the main iterative loop.
-
[2020 - Day 15 - Part 1/2] [JS/Python] - Why is the Javascript solution so much faster?
Your solution is very similar to mine, and I too found that using an Array of a set size was way faster than an ordinary Object. I believe it has to resizing the array / object.
-
2020 Day 13 Solutions
Main code for part two here, with comments, and full code for all parts found here.
What are some alternatives?
nom - Rust parser combinator framework
AlgorithmProblems - Solutions to Algorithm Problems :chart_with_upwards_trend: :neckbeard:
Advent-of-Code - Advent of Code
adventOfCode - Solutions to the 'Advent of Code' (http://adventofcode.com) programming challenges in Elm
aoc
adventofcode - Advent of code solution programs.
adventofcode - Advent of Code solutions 2015-2023
advent-of-code - Advent of code solutions
aoc2017apl - Advent of Code 2017 solutions in APL
advent_of_code - Solutions to programming puzzles on Advent of Code
advent-of-code - My solutions to http://adventofcode.com/ :)
aoc2021 - Advent of Code 2021 Solutions