• abbadon420@lemm.ee
    ·
    10 months ago

    I've solved part 2 multiple times now, but small intricacies keep popping up every time.

    • Cyno@programming.dev
      ·
      10 months ago

      I'm stuck on one of these intricacies now! I saw some of the ideas on how other people did it but i honestly have no clue what i did wrong. Got any tricky examples to share?

      • abbadon420@lemm.ee
        ·
        10 months ago

        I just solved it. I printed every set of integers in the format "Result: [theTwoDigits], from string: [inputString]" and mannually checked all of them. Eventually found the edge case that was causing troubles. It was a typo.

        • Cyno@programming.dev
          ·
          10 months ago

          Oh god, sorry to hear that 😅i'm feeling desperate enough to try that, i just wrote a different implementation and i get the same (wrong) result. At this point I just want to know what i misunderstood or mistyped cuz its driving me crazy

          • dns@aussie.zone
            ·
            9 months ago

            The bug is some strings can have overlapping characters. onEight threEight fivEight. There are more cases. So if you do a search and replace your string becomes 1ight 3ight and the second number does not get found.

            Possible fixes: Search and replace and add the extra letter: oneEigh then search and replace. Search and replace words to numbers but put some extra letters in just in case.

            • Cyno@programming.dev
              ·
              9 months ago

              Thanks, I managed to find the culprit in the end however - I was using a forward-look of 5 characters for finding if it matches a word so in a string of a3two for example, it would register the two before the 3. It was an easy fix once i found the issue.

    • purplemonkeymad@programming.dev
      ·
      9 months ago

      It was for sure to catch people that were taking the easy route and using a replace. I had to rework my solution to get the start positions for the matches. That method made both parts easy to get together.

    • mac@programming.dev
      hexagon
      ·
      edit-2
      10 months ago

      its relatively fine, just harder than past day 1s and has cases that trip people up

  • ornery_chemist@mander.xyz
    ·
    9 months ago

    I managed the overlap logic just fine (if in a clumsy way), but spent over an hour trying to debug my crappy parser-combinator code when the issue all along was a mis-spelling in my lookup table.