i also have been doing advent of code, the problems are starting to get better. i think programming problems with large amounts of input data tend to be trivial and uninspired. the difficulty of such problems usually relies on bugs caused by inherent rather than emergent complexity, and the first solution to come to mind will often be enough once you can successfully implement it
i'm glad i'm not usually around at the right time to care about completing the problems as quickly as possible, it's too stressful otherwise even if i'll never get a very fast time. project euler has better problems, but it can be a big investment of effort and there's a good chance i won't even solve it. it's rare that you will be able to solve a project euler problem without investigating the problem and trying multiple approaches. usually the first attempt will be too slow
one interesting thing i did learn from advent of code was that since accessing a list element is faster than accessing a dictionary element, it can be faster to use a list with many unallocated values across the entire keyspace than a dictionary, if you don't care about memory usage (and have integer keys). my intuition had always been to avoid using lists if you don't care about the order of elements