Day 7: Bridge Repair

Megathread guidelines

  • Keep top level comments as only solutions, if you want to say something other than a solution put it in a new post. (replies to comments can be whatever)
  • You can send code in code blocks by using three backticks, the code, and then three backticks or use something such as https://topaz.github.io/paste/ if you prefer sending it through a URL

FAQ

  • Quant@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    17 days ago

    Thanks to your solution I learned more about how to use reduce :D

    My solution did work for the example input but not for the actual one. When I went here and saw this tiny code block and you saying

    This turned out to be reasonably easy

    I was quite taken aback. And it’s so much better performance-wise too :D (well, until part 2 comes along in my case. Whatever this black magic is you used there is too high for my fried brain atm)

    • mykl@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      17 days ago

      Haha, sorry about that, it does seem quite smug :-) I went into it expecting it to be a nightmare of boxes and dimensions, but finding it something I could deal with was a massive relief. Of course once I had a working solution I reversed it back into a multi-dimensional nightmare. That’s where the performance gains came from: about 10x speedup from letting Uiua build up as many dimensions as it needed before doing a final deshaping.

      I enjoyed reading a different approach to this, and thanks for reminding me that ⋕$"__" exists, that’s a great idiom to have up your sleeve.

      Let me know if there’s any bits of my solution that you’d like me to talk you through.

      • Quant@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        17 days ago

        No worries, it does seem a lot less difficult in hindsight now, my mind just blanked at what I expected to be a lot more code :))

        That performance improvement is amazing, I’ll definitely take a look at how that works in detail later. Just gotta recover from the mental stretch gymnastics trying to remember the state of the stack at different code positions