Day 4: Printing Department
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
- What is this?: Here is a post with a large amount of details: https://programming.dev/post/6637268
- Where do I participate?: https://adventofcode.com/
- Is there a leaderboard for the community?: We have a programming.dev leaderboard with the info on how to join in this post: https://programming.dev/post/6631465


Uiua
Suspiciously easy. I even included a free animation generator for your entertainment.
"..@@.@@@@.\n@@@.@.@.@@\n@@@@@.@.@@\n@.@@@@..@.\n@@.@@@@.@@\n.@@@@@@@.@\n.@.@.@.@@@\n@.@@@.@@@@\n.@@@@@@@@.\n@.@.@@@.@." # You can run against your own input by dragging your file # onto this pane and uncommenting the line below. # &fras"day4.txt" # edit to match the filename. ⊜(=@@)⊸≠@\n N₈ ← ⊂A₂C₂ R ← ×<4⊸(/+⬚0↻)N₈ P₁ ← /+♭R P₂ ← /+♭-⊸⍥(-⊸R)∞ P₃ ← ⍥(▽₃10)<1e6/×⊸△⍥⊸(-⊸R)∞ ⊃(P₁|P₂|P₃)Love a good visualisation <3
I was gonna do the same later when some free time, was wondering if it generated some kind of image.
If you click the link on that post, you’ll see that the test data does resolve to a (very low res) elf!
Now you’re just showing off!
Edit: ooh, this makes it obvious that my puzzle input takes more cycles to reach the done state.
That’s a great addition :D
Running my own input I also noticed that your solution is a lot faster than mine (processing each roll individually). I’ll keep that 2D-rotation in mind for the future.
Yeah, that’s one thing the gurus keep hammering home: anything you can move out of loop constructs (inc rows, partition, etc as well as the obvious do, repeat) and handle pervasively is a big win.