advent-of-code/2025-python
Anders Englöf Ytterström 4a070e827b Solve 2025 day 3 pt 1-2
For the first part, I used itertools.combinations
to find the highest pairs of batteries. And as
expected, that solution did not scale well for pt 2.

I figured out that reducing batteries until the top
most 12 (and 2) remained was the correct way to go.

the _maxj(line, C) function is the hive conclusion
from the solution mega thread. I really liked this
brilliant use of a while loop to exlude batteries.

 - The first char just skip the while loop. A char
   emptying the battery list also does this.
2025-12-10 00:34:12 +01:00
..
output Solve 2025 day 3 pt 1-2 2025-12-10 00:34:12 +01:00
aoc.py Initiate Advent of Code 2025 2025-12-10 00:34:12 +01:00
README.md Initiate Advent of Code 2025 2025-12-10 00:34:12 +01:00

Advent of Code 2025

Solutions for #aoc2025 in Python 3 (3.13.4).

Programming setup:

  • Lenovo Thinkpad T14
  • OpenSUSE Tumbleweed with labwc
  • Helix editor w/ Ruff LS
  • Vivaldi
  • Foot

Help scripts

Display all solved puzzles:

python aoc.py

To bootstrap a new puzzle (creates input/<day_no>.txt and output/day_<day_no>.py):

python aoc.py <day_no> new

Manually copy the puzzle input from https://adventofcode.com and paste it in input/<day_no>.txt to start coding.

wl-paste > input/<day_no>.txt

Solve separate puzzle (replace XX with the puzzle number):

python -m output.day_XX

Solve separate puzzle using stdin (replace XX with the puzzle number):

wl-paste | python -m output.day_XX
cat tmpfile | python -m output.day_XX

Execute separate puzzle on file save (replace XX with the puzzle number):

ls output/*.py | entr -c -s 'wlpaste | python -m output.day_XX'
ls output/*.py | entr -c -s 'cat tmpfile | python -m output.day_XX'
ls output/*.py | entr -c -r python -m output.day_XX

(requires entr and wl-paste, Mac users can instead use pbpaste. If you prefer X at Linux, use xclip -selection clipboard -o).