aoc2021
aoc2021 | AdventOfCode2021 | |
---|---|---|
9 | 12 | |
1 | 1 | |
- | - | |
0.0 | 2.6 | |
9 months ago | over 2 years ago | |
C | Perl | |
MIT License | - |
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.
aoc2021
-
[2021 day 6] What's you're fastest solution?
This in C runs in 215 us on a Pi 4 with the cpu in performance mode: https://github.com/ednl/aoc2021/blob/main/day06.c
-
[DAY 6] C# solution with commentary
I took a few hints from the solutions thread and made this in C which executes in 0.4 milliseconds on a Raspberry Pi 4: https://github.com/ednl/aoc2021/blob/main/day06.c
-
[2021 Day 18] [C++] Overcomplicated solution after a lot of grief and hair loss.
Good outcome. I'm not well versed in C++ so I can't say much about it. For my solution in C, I figured that a full-blown tree was too much work and also not really needed if I kept track of the level myself, because everything is always in the same order left to right, just expanding and contracting. So I used a linked list and a SF number became an array of SF digits where each digit is a struct { left,right,level,value }. I guess the trickiest bit was to do the accountancy of keeping everything linked correctly when exploding and splitting.
-
[2021] What did you learn or take away from AoC 2021?
The constant time thing is counting fish in an age histogram mod 9, right? I think that idea floated around the solution thread. I am no longer sure if I saw it there first or came up with it myself..... but here's my implementation in C: https://github.com/ednl/aoc2021/blob/main/day06.c
-
-🎄- 2021 Day 14 Solutions -🎄-
Added lots of comments as explanation of the ideas and the code: https://github.com/ednl/aoc2021/blob/main/day14.c
-
-🎄- 2021 Day 6 Solutions -🎄-
Good ol' C code. Very simple program once you think of making a circular buffer from the population histogram by age bins, and simulating every day. I got stuck for a while trying to come up with a direct mathematical function which never gave me the exact number. The crux:
-
-🎄- 2021 Day 4 Solutions -🎄-
C, which takes some bookkeeping but it can be fast. I didn't push for every last drop of speed but still: about 3 ms on a Raspberry Pi 4 (1.8 GHz overclock, Buster desktop, not very quiet so I picked a good run). Code with lots of comments
AdventOfCode2021
-
-🎄- 2021 Day 18 Solutions -🎄-
Full program on GitHub.
-
-🎄- 2021 Day 15 Solutions -🎄-
Full program including code to deal with heaps, on GitHub.
-
[2021 Day 11 (Part 2)] What input takes the most steps to synchronize?
Program I used for the above results
-
-🎄- 2021 Day 8 Solutions -🎄-
See my solution on GitHub.
-
Day 6 Proof of Correctness
Note also that you can solve this without a complexity dependency on n. Most solutions I have seen, including mine run in time O(tD), where t is the maximum value of a timer, and D the number of generation, requiring O(t) memory. (This is assuming we can do the required arithmetic operations in constant time, and each numbers require a fixed around of memory storage; if the number of fish gets huge, throw in an additional log n in the complexities, where n is the number of fish on the final day).
-
-🎄- 2021 Day 6 Solutions -🎄-
Based on my matrix exponentiation solution, here is a closed-form solution:
-
How do I read today's input ? Part 1
In my Perl solution of today (I assume, you mean 2021, Day 4), I read stuff in paragraph mode ($/ = "") which makes Perl split input on 2 or more newlines.
-
2021 Day #4 (Part 1) [Native Python ONLY] - Conceptual Guidance?
I considered doing that for my (Perl) solution, but given the cards are small, that seemed overkill.
-
-🎄- 2021 Day 4 Solutions -🎄-
Python implementation on GitHub
What are some alternatives?
AdventOfCode
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
aoc-2021 - Advent of code 2021 challenges written in Rust to learn the language and get more comfortable with the it (and sometimes I just use C++)
Advent-of-code - My solutions of adventofcode.com
Advent_of_Code_2021_Solutions_Java - Personal AoC/2021 Solutions in Java
adventofcode - Advent of Code solutions of 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 and 2023 in Scala
adventofcode - Advent of Code challenge solutions
adventofcode - Solutions for problems from AdventOfCode.com
adventofcode
adventofcode - Advent of code solutions
advent-of-code-2021 - My solutions to advent of code 2021 in deno/TS
advent-of-code - Advent of Code Solutions