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.

  • @geriksonOP
    link
    English
    47 months 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.

    • @datarama
      link
      English
      47 months ago

      deleted by creator

      • @geriksonOP
        link
        English
        47 months 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.

      • @selfMA
        link
        English
        37 months 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

        • @datarama
          link
          English
          4
          edit-2
          7 months ago

          deleted by creator

          • @geriksonOP
            link
            English
            47 months 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 );

            • @datarama
              link
              English
              47 months ago

              deleted by creator

          • @selfMA
            link
            English
            47 months 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

            • @datarama
              link
              English
              47 months ago

              deleted by creator

          • @froztbyte
            link
            English
            37 months ago

            I like your condensed solve method, yay for concise code

    • @datarama
      link
      English
      1
      edit-2
      7 months ago

      deleted by creator