copy pasting the rules from last year’s thread:

Rules: no spoilers.

The other rules are made up aswe go along.

Share code by link to a forge, home page, pastebin (Eric Wastl has one here) or code section in a comment.

    • gerikson@awful.systems
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      13 days ago

      I had a lot of trouble because my input was truncated, despite the site warning me about that. Did I listen? I did not.

      edit

      day 9 discussion

      Principal Skinner moment

      “Did I miscopy the input?”

      “No, it is my algorithm that is wrong”

      kinda satisfying to figure out I was correct all along.

      Part 2 is not as fast as I’d like (14s), but faster than it was. People on reddit are wittering on about search trees, me I just sling Perl hashrefs around

      https://github.com/gustafe/aoc2024/blob/main/d09-Disk-Fragmenter.pl

      • zogwarg@awful.systems
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        13 days ago
        Day 9 discussion

        Part two for me was also very slow until I, speed up the index search by providing a lower bound for the insertion. for every insertion of size “N”, I have an array lower = [null, 12, 36, …], since from the left any time you find free space for a given size, the next time must be at an index at least one larger, which makes it close to being O(N) [assuming search for the next free space is more or less constant] instead of O(N^2), went from about 30s to 2s. https://github.com/zogwarg/advent-of-code/blob/main/2024/jq/09-b.jq