Fork me on GitHub
#adventofcode
<
2021-12-11
>
R.A. Porter04:12:39

I needed Day 10. I still haven't been able to solve part 2 of Day 9 (I'm going to punt for now) even though I know how to solve it. I just can't seem to write an implementation that doesn't either short-cut in a way that breaks or blows out my stack in skipping shortcuts. But Day 10? That was built for Lispers.

Jeff Evans18:12:29

agreed. day 10 was a joy

alekszelark04:12:44

🧵Day 11 answers thread: post your answers here

norman06:12:16

fastest time from part 1 to part 2 yet - it's always nice when that happens

👏 3
alekszelark07:12:28

Need to think if I can apply frequencies here 😆

😂 4
Callum Oakley12:12:52

not my most concise solution… avoids scanning the whole map any more than once per step by checking if an octopus is ready to flash at increment time and pushing it on a stack. lots of passing state around to make that work though. I was expecting part 2 to be “simulate for a really long time” 🤷 (I also didn’t look at the input and see that it was tiny facepalm) 13ms/42ms https://github.com/callum-oakley/advent-of-code/blob/main/src/aoc/2021/11.clj

Joe12:12:46

Day 11 https://github.com/RedPenguin101/aoc2021/blob/main/day11.md and https://github.com/RedPenguin101/aoc2021/blob/main/clojure/src/aoc2021/day11.clj One of those things where the code started out pretty messy, but I got into a 'virtuous spiral' of refactoring, ending up with a quite readable (I think) solution. Definitely not fast! But sub-second, which is good enough I think.

karol14:12:41

https://github.com/kfirmanty/advent-of-code-2021/blob/main/src/day11.clj - my first pass at solution - nothing fancy on my side, just plain loop through the board but seems to do the trick and executes part-2 in 163ms on my machine

Andrew Byala19:12:43

Wrote mine last night, and then rewrote it this morning. I used a recursive cascade-flashes function instead of keeping track of which points I had already flashed; it was a little less efficient than my original loop-recur, but I think it looks cleaner. • https://github.com/abyala/advent-2021-clojure/blob/main/docs/day11.mdhttps://github.com/abyala/advent-2021-clojure/blob/main/src/advent_2021_clojure/day11.clj

Antonio Bibiano19:12:05

My solution for today

Antonio Bibiano19:12:45

I was really bummed that update-in throws when given an invalid array position like [-1 0]

Antonio Bibiano19:12:16

and at some point i learned that get-in returns the whole coll if the key is nil

💡 1
Stuart01:12:47

Horrible solution by me today. For whatever reason I couldn't get my head around grids, so I represented it as a flat vector. I also think I compensated for my brain not working by building it into a way too complicated data structure. Each cell looked like this

{:n 0 :flashed false :flashes 0 :xy [0 0] :i 0}
I know, dumb. BUt at least it's done, and it runs instantly. https://gist.github.com/stuartstein777/65179a928273e201af0b256a7b024487#file-2021-day-11-clj-L7 Definitely one I need to rethink when my brain is working better and re-work

euccastro17:12:40

I couldn't get to this yesterday. I expected second half to be harder; I was glad I had built step 1 on top of iterate so I could just reuse it for step 2. I guess I could clean it up but I have to do day 12 first: https://github.com/euccastro/advent-of-code-2021/blob/main/day11.clj

Andrew Byala19:12:14

Very cool, @U067R559Q! What did you use for visualization?

borkdude10:12:24

I'm skipping today's one, I think. Another grid puzzle ;)

😲 1
👍 1
Sidestep12:12:26

Some devs suggested Fennel, which is Lua based, for some AOC challenges

Sidestep12:12:43

how come? how does Fennel help?

Cora (she/her)12:12:39

I was just trying it out, it doesn't really help

genmeblog17:12:51

Day 11 animation, it's flashing (epilepsy warning) so I hid it in a thread. Cubic interpolation is used to generate bigger image.

1
3
tschady17:12:58

advent-of-animations, I’m inspired.

Noah Bogart17:12:58

thanks for the threaded animation! looks very cool but nice to not have flashing by default

genmeblog19:12:43

Yeah, I know it may be problematic for some people.

winsome17:12:07

I feel like I would be able to navigate even when the octopi aren't all synced up :p

Antonio Bibiano19:12:08

what's the plural of octopus? octopi?

Cora (she/her)20:12:31

it's complicated

Stuart20:12:00

Can someone confirm something about Day 11 for me. Question in thread

Stuart20:12:26

For the small example input

1	1	1	1	1
1	9	9	9	1
1	9	1	9	1
1	9	9	9	1
1	1	1	1	1
Does this eventually end up as
1	1	1	1	1
1	1	1	1	1
1	1	1	1	1
1	1	1	1	1
1	1	1	1	1
?

nbardiuk20:12:23

yes, octopuses eventually syncronize, all the values in the grid became the same

👍 1