Think it's because certain topics, such as dynamic programming or graph algorithms, are just not something you can attack from first principles for most mortal people. I certainly wouldn't have invented binary trees. So there is quite a bit of things to read up on (though it should all be covered in an algorithms course).
Then once you do get that context... like LeetCode problems often aren't very inspiring? A lot of the time it's "just apply this technique here".
Whereas in AoC, at least in the first few weeks, it's mostly just, do the task, attack it from first principles.
I had 3 of those 1 hour interviews for a position at Apple, with people watching every move and thinking of ways to break the solution. I don't think I could do it again, no matter what.
those exist. except I think the one I did was an hour(? it was ten years ago).
I got the interview, but that didn't go well, so I went to work elsewhere.
they have part of the site that has lessons for developers:
I’m also doing them in F# (again). Hoping to best my past attempts, never gone beyond day 12 before!
I’m never gonna do it fast but I enjoy using fparsec to get the input text in whatever format I need each time, even if writing and debugging the parsers sometimes takes up way too much of my time!
Have you ever tried the LeetCode live competitions? I found those to be really fun with a great community. Just grinding problems in isolation can definitely be depressing.
Wishing everyone a fun challenge. This year I will be practicing F# and hope some of you will give it a try too :) https://github.com/neon-sunset/AOC24/blob/master/day1.fsx