advent-of-code
aoc2021
advent-of-code | aoc2021 | |
---|---|---|
25 | 32 | |
5 | 26 | |
- | - | |
8.0 | 0.0 | |
4 months ago | about 1 year ago | |
Scala | Kotlin | |
- | - |
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 Day 13 Solutions -π-
Scala using Β΅Json. Really happy with how concise this is. I was able to parse everything into a Packet class that extends Ordered, which gives us the compare function. So once that was implemented recursively according to the rules we were given, I was able to jsut call .sorted for part 2.
-
-π- 2022 Day 12 Solutions -π-
Scala using jgrapht. I thought part 2 would require a different graph (similar to 2018 day 22) since the story said "to avoid needing to get out your climbing gear..." Glad that wasn't the case!
-
-π- 2022 Day 11 Solutions -π-
Scala. Pretty happy with how I parsed these into anonymous instances of my Monkey trait. For me part 2 wasn't hard because of the modulo trick, but because I was using mutable queues. So I had to add a reset() method to get things back the way they were before running part 2
-
-π- 2022 Day 10 Solutions -π-
Scala using tail recursion. Not the prettiest, but it works
-
-π- 2022 Day 9 Solutions -π-
Scala. Not too bad with my Point helper class. After part 1 I refactored the movements into a move helper that just takes 2 arbitrary points; the current point and the one we are moving towards. Then it was easy enough to just apply that in order each iteration for part 2.
-
-π- 2022 Day 8 Solutions -π-
Scala. It's ugly, but it works Β―\_(γ)_/Β―
-
-π- 2022 Day 5 Solutions -π-
Scala. Parsing wasn't as hard as I thought it would be using transpose and then just filtering non-alphanumeric characters. I initially parsed to a Map[Int, mutable.Stack[Char]] but then that bit me in part 2 when I would have to "reset" it (dang mutability!). So instead I parse to Map[Int, String] and just build the mutable stacks twice.
-
-π- 2022 Day 4 Solutions -π-
Updated version using sets instead of ranges
-
-π- 2022 Day 2 Solutions -π-
Scala. A little more verbose than I would like, but it works Β―\_(γ)_/Β―
-
-π- 2022 Day 1 Solutions -π-
Scala
aoc2021
-
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?
AdventOfCodeHaskell - Advent of Code in Haskell
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-of-code-rust - πStarter template for solving Advent of Code in Rust.
adventofcode - Advent of Code challenge solutions
advent-of-code-2022 - π My Advent of Code solutions in Rust. http://adventofcode.com/2022
roast - π¦ Raku test suite
advent-2021 - [Moved to: https://github.com/Crazytieguy/advent-of-code]
AdventOfCode-Day4-CampCleanup - .NET Core console app that solves the AdventOfCode Day 3 puzzle - Camp Cleanup
advent-of-code-go - All 8 years of adventofcode.com solutions in Go/Golang; 2015 2016 2017 2018 2019 2020 2021 2022