AdventOfCode2021FSharp
Solutions for Advent of Code 2021 in F# (by oddrationale)
aoc2021
Advent of Code 2021 - my answers (by ephemient)
AdventOfCode2021FSharp | aoc2021 | |
---|---|---|
17 | 32 | |
5 | 26 | |
- | - | |
0.0 | 0.0 | |
over 2 years ago | about 1 year ago | |
Jupyter Notebook | Kotlin | |
MIT License | - |
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.
AdventOfCode2021FSharp
Posts with mentions or reviews of AdventOfCode2021FSharp.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-12-23.
-
Advent of Code day 12 advise
I was having a hard time figuring out day 12 of Advent of Code. In the end I gave up and went looking for some solutions. I came across this one and this one. However, I didn't quite understand what they did.
-
-π- 2021 Day 21 Solutions -π-
F# solution in Jupyter Notebook. Got some help from this thread.
-
-π- 2021 Day 20 Solutions -π-
F# solution in Jupyter Notebook. Part 1 takes 500ms but Part 2 takes 24s. Any suggestions on where performance could be improved would be appreciated!
-
-π- 2021 Day 18 Solutions -π-
F# solution in Jupyter Notebook. Thank God for the Haskell programmers! I would not have been able to solve this without peeking at their some of their code. Parsing the input string was just the first of the challenges! I envy those dynamic programming languages with an eval function.
-
-π- 2021 Day 17 Solutions -π-
F# solution with Jupyter Notebook. Brute force. I actually solved Part 2 before solving Part 1, unknowingly.
-
-π- 2021 Day 16 Solutions -π-
F# with Jupyter Notebook. Learned how to use recursive types today! Half-way through the problem I was starting to wonder whether BITS was going to be the new IntCode.
-
[2021 Day 15 (Part 1 & 2)][F#] Why is my implementation of Dijkstraβs Algorithm so slow?
So this year I'm learning F# and functional programming. I could not figure out a immutable solution. So I went with an imperative, mutable solution and did pretty much a straight port from Red Blob Games including using a PriorityQueue.
-
-π- 2021 Day 13 Solutions -π-
F# with Jupyter Notebook.
-
-π- 2021 Day 12 Solutions -π-
F# with Jupyter Notebook. Slow but works. I'll probably come back to this day and optimize the solution.
-
-π- 2021 Day 11 Solutions -π-
F# in Jupyter Notebook. Decided to go with an infinite sequence (generator pattern) for the steps. This made Part 2 a breeze!
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 AdventOfCode2021FSharp and aoc2021 you can also consider the following projects:
aoc - Advent of Code - mscha's Perl 6 solutions
adventofcode - Advent of Code solutions of 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 and 2023 in Scala
adventofcode
AoC - my personal repo for the advent of code yearly challenge
advent-of-code-2021 - Advent of Code 2021 https://adventofcode.com/2021
adventofcode - Advent of Code challenge solutions
advent-of-code - My Advent of Code solutions
roast - π¦ Raku test suite
advent-of-code-kotlin-2021 - Advent of Code 2021 Challenge
advent-2021 - [Moved to: https://github.com/Crazytieguy/advent-of-code]
AoC - Advent of Code submissions
advent-of-code-go - All 8 years of adventofcode.com solutions in Go/Golang; 2015 2016 2017 2018 2019 2020 2021 2022
AdventOfCode2021FSharp vs aoc
aoc2021 vs adventofcode
AdventOfCode2021FSharp vs adventofcode
aoc2021 vs AoC
AdventOfCode2021FSharp vs advent-of-code-2021
aoc2021 vs adventofcode
AdventOfCode2021FSharp vs advent-of-code
aoc2021 vs roast
AdventOfCode2021FSharp vs advent-of-code-kotlin-2021
aoc2021 vs advent-2021
AdventOfCode2021FSharp vs AoC
aoc2021 vs advent-of-code-go