aoc2021
Advent of Code 2021 - my answers (by ephemient)
advent-of-code | aoc2021 | |
---|---|---|
14 | 32 | |
1 | 26 | |
- | - | |
0.0 | 0.0 | |
over 2 years ago | over 1 year ago | |
Common Lisp | 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-of-code
Posts with mentions or reviews of advent-of-code.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-12-20.
-
-🎄- 2021 Day 21 Solutions -🎄-
Python. Part a is whatever, part 2 is pretty clean. I wonder if there's a math-only solution to this?
-
-🎄- 2021 Day 20 Solutions -🎄-
Python.
-
-🎄- 2021 Day 19 Solutions -🎄-
Python. Brute force with a tiny bit of pruning, takes about 3 minutes. I've been thinking of switching from CL for days and having the chance to use matrix multiplications finally gave me a great reason to :)
-
-🎄- 2021 Day 18 Solutions -🎄-
Common Lisp Truly ugly day, took me about 4 hours for part 1 and submitted more than 24h past the puzzle for the first :(
-
-🎄- 2021 Day 17 Solutions -🎄-
Common Lisp. Very disappointing problem since you can just brute force over even unreasonable bounds quickly. Would have been more appropriate as a day 4 or 5 problem
-
-🎄- 2021 Day 16 Solutions -🎄-
Common Lisp. Christ this was a sad day. I probably had part 1 in 40 minutes (or I would have if emacs didn't start hanging which necessitated a huge apt-get update/apt-get upgrade 40 minutes in), but then I got hung up until ~3hrs by the "padding" stuff and trying to parse more than one root-level packet from the string. Uggghhh.
-
-🎄- 2021 Day 15 Solutions -🎄-
Simple Dijkstra's in Common Lisp, though I can think of a good heuristic to use with A*. Took me like 10 minute to find a priority queue lib I liked, and about another 15 to figure out I needed to initialize it with a predicate of #'< instead of #'= :/
-
-🎄- 2021 Day 14 Solutions -🎄-
Common Lisp. Pretty bad day, stumbled around for like an hour trying to actually construct the strings for part B and then finished in like 10 mins once I realized how to take the better approach :/
-
-🎄- 2021 Day 13 Solutions -🎄-
Common Lisp. Pretty ugly, I could have merged fold-left and fold-up and the printing logic leaves something to be desired
-
-🎄- 2021 Day 12 Solutions -🎄-
Common Lisp. Got bit really hard twice today, on part a by not knowing that equalp compares strings case-insensitively (wtf!?) and on part b by speedreading and thinking that all small caves could be revisited on a single path
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-of-code and aoc2021 you can also consider the following projects:
adventofcode - Advent of code solutions
adventofcode - Advent of Code solutions of 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 and 2023 in Scala
advent-of-code
AoC - my personal repo for the advent of code yearly challenge
advent-2021 - [Moved to: https://github.com/Crazytieguy/advent-of-code]
adventofcode - Advent of Code challenge solutions
adventofcode - Solutions for problems from AdventOfCode.com
roast - 🦋 Raku test suite
aoc - Advent of Code Solutions
adventofcode - Advent of code
advent-of-code-go - All 8 years of adventofcode.com solutions in Go/Golang; 2015 2016 2017 2018 2019 2020 2021 2022
advent-of-code vs adventofcode
aoc2021 vs adventofcode
advent-of-code vs advent-of-code
aoc2021 vs AoC
advent-of-code vs advent-2021
aoc2021 vs adventofcode
advent-of-code vs adventofcode
aoc2021 vs roast
advent-of-code vs aoc
aoc2021 vs advent-2021
advent-of-code vs adventofcode
aoc2021 vs advent-of-code-go