AOC 2025 attempt
Find a file
2025-12-01 21:26:52 -08:00
day1 tweaks to part 2, not there yet 2025-12-01 17:45:50 -08:00
day2 rough work on day2 part 1 in the python repl 2025-12-01 21:26:52 -08:00
.gitignore add python to .gitignore 2025-12-01 21:17:33 -08:00
LICENSE Initial commit 2025-11-30 19:14:14 -08:00
README.md update day 1 notes 2025-12-01 00:16:04 -08:00

aoc2025

My Advent of Code 2025 attempt

Good luck to everyone trying!

Notes

Day 0

  • I've put input.txt into my .gitignore to be a better AOC participant. In the past, I committed input data, but apparantly the creator of AOC doesn't want input data to be aggregatable (so putting it online in a repo isn't so great)
  • I haven't decided what language for this year. I am noodling around with using multiple languages, whatever is easiest for the challenge of the day.
  • I will be using aocd for helping with fetching input data and example data. This simplifies the data wrangling - in the past I've coded crude data fetchers but this year, I'm just going to focus on the puzzles themselves.

Day 1

Part 1

  • Decided to use excel
  • new functions I encountered: flash fill, nested IF's, MOD, QUOTIENT
  • trickiest part was to think in both 0 index and 1 index - the counting system of the problem is 0-99, but the number system that I'm used to is 1-100 so I had to do some trial and error to get the right overflow behaviour
  • if I were programming it, I'd either use
    • an array with bounds checking
    • or a ring buffer. I had a ring buffer implementation in c from a previous course ELEX 8030, all I would need to do is to set the ring size, and let the "ring" mechanism take care of the looping/overflow, and the "data" being stored in the ring would be the count of times when the buffer is empty. Part 2 can be accomplished by adding some checking to the code where the ring loops back and forth on itself.
    • OR it could be a stack where you push and pop.
    • Lots of interesting data structures to use with this problem.
  • using excel was a blessing in disguise because I had access to a bunch of easy to use built in functions so I don't have to code it all

Part 2

  • going to do this tomorrow.