aoc2021
Advent of Code 2021 - my answers (by ephemient)
aoc-2021-clj | aoc2021 | |
---|---|---|
7 | 32 | |
0 | 26 | |
- | - | |
1.8 | 0.0 | |
over 2 years ago | about 1 year ago | |
Clojure | 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.
aoc-2021-clj
Posts with mentions or reviews of aoc-2021-clj.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-12-14.
-
-🎄- 2021 Day 15 Solutions -🎄-
I'm very late to the party, so I'll just reply to your comment with my solution source and tests. Like you, my initial solution was very slow for part 1 (slower than yours, I think). After refinement, part 2 finishes in about 30 seconds whereas yours takes roughly 60 seconds on my machine. I haven't examined your solution much, but I'm guessing the difference is (unsurprisingly) the queue of remaining nodes.
-
-🎄- 2021 Day 14 Solutions -🎄-
Clojure, source and tests. Brute forced part 1 but refined the solution for part 2 which runs in about 30ms (not bad, I'd say!).
-
-🎄- 2021 Day 13 Solutions -🎄-
Catching up once again. Here's the Clojure source (no tests this time... but here's the parsing source. Here's how I ran it at the REPL:
-
-🎄- 2021 Day 9 Solutions -🎄-
Clojure, source and tests. Part 1 was simple but I couldn't get anything going for part 2 after a couple of hours. I initially tried a naive DFS approach (which I know essentially nothing about) but wasn't successful in constructing a tree from a low point.
-
-🎄- 2021 Day 7 Solutions -🎄-
Finally caught up! Here's the Clojure source and tests for today.
-
-🎄- 2021 Day 6 Solutions -🎄-
Catching up from a set back on day 5 (I almost had a working sweep algorithm but gave up) and the weekend in general. Here's the Clojure source and tests. As usual, feedback welcome!
-
-🎄- 2021 Day 4 Solutions -🎄-
Clojure, source and tests. Any feedback welcome!
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 aoc-2021-clj and aoc2021 you can also consider the following projects:
Advent-of-Code - Advent of Code
adventofcode - Advent of Code solutions of 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 and 2023 in Scala
adventofcode - Advent of code solutions
AoC - my personal repo for the advent of code yearly challenge
AdventOfCode2021 - Advent of code 2021
adventofcode - Advent of Code challenge solutions
adventofcode - Advent of code solutions
roast - 🦋 Raku test suite
AdventOfCode2021 - My solutions to https://adventofcode.com/2021
advent-2021 - [Moved to: https://github.com/Crazytieguy/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
aoc-2021-clj vs Advent-of-Code
aoc2021 vs adventofcode
aoc-2021-clj vs adventofcode
aoc2021 vs AoC
aoc-2021-clj vs AdventOfCode2021
aoc2021 vs adventofcode
aoc-2021-clj vs adventofcode
aoc2021 vs roast
aoc-2021-clj vs AdventOfCode2021
aoc2021 vs advent-2021
aoc2021 vs advent-of-code-go
aoc2021 vs adventofcode