Rules: no spoilers.

The other rules are made up as we 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.systemsOP
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Perl: https://github.com/gustafe/aoc2023/blob/main/d01-Trebuchet.pl

    thoughts

    I found this really tough for a day 1 problem. Because I don’t really know regex, I did not know the secret to finding overlapping patterns. I quickly figured out that “twone” was a possibility, because it was in the example, but then I had to find other examples and hardcode them into my split pattern.

    This isn’t general, my input doesn’t have ‘sevenine’ for example.

      • gerikson@awful.systemsOP
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 year ago

        Abso-fucking-lutly. I just find sharing a link easier than wrangling code blocks.

        There are also hipster “forges” like Sourcehut, if that’s your jam.

      • self@awful.systemsM
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        absolutely — removing my dependency on GitHub has actually been a blocker on me releasing code lately, and it’s something I want to tackle when we launch that open source community. if it helps collaboration, I can provide some ultra-janky git hosting on awful.systems with the same service that hosts our infrastructure code, though this’d be just basic git and gitweb with ssh public key auth

          • gerikson@awful.systemsOP
            link
            fedilink
            English
            arrow-up
            4
            ·
            1 year ago

            Re Perl findall, I used this regex in my “clean” solution which I didn’t post because I figure it’s more honest to submit what worked, not the smart stuff you found out later.

            regex

            # find all numerals and number in English from the string $line and put them into the array @spelled my @spelled = ( $line =~ (m/(?=(\d{1}|one|two|three|four|five|six|seven|eight|nine))/g );

          • self@awful.systemsM
            link
            fedilink
            English
            arrow-up
            4
            ·
            1 year ago

            fuck yes scheme. you might have just inspired me to write some Lisp Machine Lisp solutions, since I might need a Lisp Machine codebase to test one of my side projects