still apologies for the poor audio/video quality, i am still traveling so i'm still on a laptop with a worse mic
@eavdmeer18 күн бұрын
The microphone isn't even half bad. Sounds like the gain is set too high, making it clip the audio
@romainbodec73714 күн бұрын
Hello, I really appreciated following your videos / explanations about the Advent Of Code 2024 challenge. Thank you for your work and have a wonderful end of year ! Cheers from France (Brest)
@yajusgakhar696918 күн бұрын
Your explanations are what helped me, a first timer, not only complete the problems but also understand the logic behind them. Never stop making vids and thank you for your service.
@Cwiet18 күн бұрын
Wow that parsing is just next level. It's concise, clean and readable at the same time. It turned out that your initial solution with counting “#” perform the best ~47 ms whereas the others take around 110 ms longer. My initial approach took 10 ms and was based on making sets of tuples with coordinates of “#", which then I simply check if they’re disjointed - if there was none, then it was a match. But my parsing was way more bloated and with more ifs.
@leesinisbae827817 күн бұрын
Thank your for your explanations and helping me through this year too!
@peterschrader-ki5cl16 күн бұрын
🙏Thanks for all your concise explanations (waive day 24 part 2😊). And congrats to a finishing place on the global leaderboard👍
@eavdmeer18 күн бұрын
My favorite advent of code channel. You've definitely pulled me though a couple of them. Thanks for taking the time to make these videos. Happy holidays!
@dordanov18 күн бұрын
Thank your for all the helpful and insightful videos. I started AoC last year, and wouldn't have been able to finish (and optimise) all the puzzles without your awesome explanations and insights. Much appreciated!
@aethiis18 күн бұрын
Thank you for your videos and happy holidays !
@luked.173418 күн бұрын
This was my first year doing AOC, and I'm glad I found your channel. Great explanations every single time, with some cool tidbits along the way (raw strings are a cool thing to know). Also cool to see how concise python can be. Hope to see you next year!
@enderesting18 күн бұрын
It's my first time finishing all 50 stars this year, and I can say for certain I won't have done it without your videos! Thank you for going through your thought process every day, I feel like I learnt a lot about how AoC puzzles worked + new way to work around python! Happy holidays & New Year!
@shubhangmehrotra129818 күн бұрын
Thank you for making these videos!!
18 күн бұрын
Thank you very much for your videos. They provided me the insights I needed to complete the AoC 2024 in Haskell.
@pmareke18 күн бұрын
Thanks to you for make us better developers ❤, see you next year!
@klif_n18 күн бұрын
Thank you so much for the excellent explanations. You really helped make this year’s AoC a learning experience! Happy Holiday’s and safe travels. I look forward to the recap video.
@MegaPacoquinha17 күн бұрын
Thank you for your videos! Helped me a lot when I got stuck on some problems
@delekmiller236218 күн бұрын
thank you so much for making these videos ❤
@petrlos537418 күн бұрын
thank you for all your videos - your explanations are relative easy to understand, to follow what u do and i have learned really a lot from you.. thank you that you did not give up after so many LLM took part this year.. hopefuly "see you" next year :)
@Volganian18 күн бұрын
Thank you for all thorough explanations. Happy holidays!
@TheWitzig18 күн бұрын
Thank you for your videos! Well explained! :)
@clonew0lf17 күн бұрын
This was a great series. Thanks for helping us through it! I would love to see another pass at day 21 if you get around to it :D
@SqueezeWizard14 күн бұрын
Thank you, you're the best! bye, hope to see you next year!!
@rastislavsvoboda436318 күн бұрын
Thank you for all your videos and for providing detailed explanations. See you next year! there is one IMHO simple solution - set "theory" 101 - intersection (&) ;-) def solve1(text): blocks = text.split(" ") block_rows = blocks[0].splitlines() R = len(block_rows) C = len(block_rows[0]) locks = [] keys = [] for block in blocks: block_lines = block.splitlines() pins = set((r, c) for r in range(R) for c in range(C) if block_lines[r][c] == "#") if all(x == "#" for x in block_lines[0]): locks.append(pins) elif all(x == "#" for x in block_lines[-1]): keys.append(pins) else: assert False return len([1 for lock in locks for key in keys if len(lock & key) == 0])