I absolutely love code puzzles which is why I'm both happy - and pissed - that I discovered Advent of Code. Every day the site releases two Christmas-themed code puzzles (the second one is heavily based on the first one and can - typically - be solved much quicker). You can solve the puzzles in any language you want (I'm using JavaScript of course) and alternate between loving them and thoroughly hating them as well. Ok, maybe not hate, but they can get pretty frustrating, although mostly in a good way. I've already learned a few things so I'd suggest checking it out if you want a good exercise. There's a reddit thread in case you get stuck (I've had to hit it up twice when I ran into a brick wall) and the posts there are pretty good in terms of trying to 'spoil' as little as possible.