advent-2021
[Moved to: https://github.com/Crazytieguy/advent-of-code] (by Crazytieguy)
aoc2021
Advent of Code 2021 - my answers (by ephemient)
Our great sponsors
advent-2021 | aoc2021 | |
---|---|---|
19 | 32 | |
5 | 26 | |
- | - | |
6.8 | 0.0 | |
over 1 year ago | about 1 year ago | |
Rust | Kotlin | |
- | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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-2021
Posts with mentions or reviews of advent-2021.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-12-23.
- -🎄- 2021 Day 24 Solutions -🎄-
- -🎄- 2021 Day 23 Solutions -🎄-
-
-🎄- 2021 Day 22 Solutions -🎄-
Rust https://github.com/Crazytieguy/advent-2021/blob/master/src/bin/day22/main.rs Imagining the geometry of this was very tricky for me. For a while I contemplated if calculating the intersection of each pair of cuboids would give me enough information to know how many cubes are on at the end, and finally decided that I would also have to calculate the intersections of those and so on, so I gave up. Instead I decided that my state will be a vector of cuboids that are garuanteed to be non overlapping, and on each command I would subtract the current cuboid from each of these non overlapping cuboids (leaving 1 to 6 cuboids depending on intersection), and finally either add in the current cuboid (for on command) or leave it out (for off).
- -🎄- 2021 Day 21 Solutions -🎄-
- -🎄- 2021 Day 20 Solutions -🎄-
- -🎄- 2021 Day 19 Solutions -🎄-
- -🎄- 2021 Day 18 Solutions -🎄-
- -🎄- 2021 Day 16 Solutions -🎄-
- -🎄- 2021 Day 15 Solutions -🎄-
- -🎄- 2021 Day 14 Solutions -🎄-
aoc2021
Posts with mentions or reviews of aoc2021.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-02-04.
-
All years, all days, everything in Haskell
I've done every year in Haskell (2015 2016 2017 2018 2019 2020 2021), and so have several other people such as /u/glguy. I don't see if /u/mstksg has anything published for 2015 but they've done 2016 2017 2018 2019 2020 2021 along with some pretty good writeups, I recommend checking those out.
-
Jetbrains looks like it's about to release Compose ui for ios, and web!
I ran my own benchmarks for a whole ton of code at https://github.com/ephemient/aoc2021 on both Linux x64 and macos x64, and ended up disabling Kotlin/Native because it was varying between 10x and 100x slower than Kotlin/JVM, eventually timing out on CI. The generated code may be reasonable thanks to LLVM, but the runtime certainly is not.
-
-🎄- 2021 Day 25 Solutions -🎄-
Took a while for me to get around to completing this in Kotlin, Python, and Rust as well, since I was working on optimizing other solutions, but I finally made it.
-
-🎄- 2021 Day 24 Solutions -🎄-
So I switched tacks and implemented this in Kotlin, where mutation is easier. First version was brute-force with duplicate state avoidance (checked before the state explosion at every input), which worked quickly enough for part 1, but ran into OOMs for part 2. Once I replaced the HashSet with a custom LruSet (and later a simpler CacheSet which simply overwrites on hash collisions) it ran part 2 in a few minutes. I then ported this into Haskell.
-
-🎄- 2021 Day 23 Solutions -🎄-
Haskell 1171/339
-
-🎄- 2021 Day 22 Solutions -🎄-
Kotlin, Python, and Rust solutions are the same solution but much uglier.
-
-🎄- 2021 Day 21 Solutions -🎄-
I'm doing the same cached recursion in Kotlin, Python, and Rust.
-
-🎄- 2021 Day 20 Solutions -🎄-
Haskell 621/603
-
-🎄- 2021 Day 19 Solutions -🎄-
Haskell 258/240
-
-🎄- 2021 Day 18 Solutions -🎄-
Haskell Kotlin 622/1185
What are some alternatives?
When comparing advent-2021 and aoc2021 you can also consider the following projects:
advent-of-code-go - All 8 years of adventofcode.com solutions in Go/Golang; 2015 2016 2017 2018 2019 2020 2021 2022
adventofcode - Advent of Code solutions of 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 and 2023 in Scala
deno_aoc - 🎄 Advent of code solutions written in TypeScript for Deno.
AoC - my personal repo for the advent of code yearly challenge
AdventOfCode2021.jl - Advent of Code 2021 in Julia
adventofcode - Advent of Code challenge solutions
advent-of-code
roast - 🦋 Raku test suite
aoc - Advent of Code - mscha's Perl 6 solutions
adventofcode - Solutions for problems from AdventOfCode.com
adventofcode - Advent of code solutions
advent-2021 vs advent-of-code-go
aoc2021 vs adventofcode
advent-2021 vs deno_aoc
aoc2021 vs AoC
advent-2021 vs AdventOfCode2021.jl
aoc2021 vs adventofcode
advent-2021 vs advent-of-code
aoc2021 vs roast
advent-2021 vs aoc
aoc2021 vs advent-of-code-go
advent-2021 vs adventofcode
aoc2021 vs adventofcode