this post was submitted on 12 Dec 2024
16 points (90.0% liked)
Advent Of Code
985 readers
62 users here now
An unofficial home for the advent of code community on programming.dev!
Advent of Code is an annual Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.
AoC 2024
Solution Threads
M | T | W | T | F | S | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 |
Rules/Guidelines
- Follow the programming.dev instance rules
- Keep all content related to advent of code in some way
- If what youre posting relates to a day, put in brackets the year and then day number in front of the post title (e.g. [2024 Day 10])
- When an event is running, keep solutions in the solution megathread to avoid the community getting spammed with posts
Relevant Communities
Relevant Links
Credits
Icon base by Lorc under CC BY 3.0 with modifications to add a gradient
console.log('Hello World')
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I found multidimensional markers for partition to work really well for finding the fields:
Areas β ββ‘:β‘β³.+1βββ
It just groups the other array's contents according to adjacent markers, horizontally and vertically. Took me quite a bit to figure out what's actually happening in the example in the documentation ^^'Ooh, interesting, I'll have to give that a try. Thanks!
(edit) Wow, that replaced my three lines of overly complex code without a hitch.
classify
is an operator I never really got the point of before. Beautiful.Nice :D
How's the speed now?
1.8s now. 99% of that in
Sides
. I've just had an idea though... ~~maybe too late for today though!~~edit: prepending
β‘β(-Β€βΈ/β§)
toFields
spared me from manipulating hundreds of irrelevant 0's, so time is very good now at 55ms.Damn that's a lot time saved. I love how unassuming the addition looks for how great an effect it has
It was a real D'oh! moment when I visualised the data I was generating and saw all the zeros stretching across the page.