CodinGame is a very nice online platform which offers programming puzzles to solve for fun. During summer 2015, to improve my programming skills in C, Python and Java, I decided to try and solve as much solo puzzles as possible.
This page gathers my solutions, if you want to compare them with yours. I would be very happy to discuss them by email if you want. Keep in mind that there are often many solutions to one problem.
Easy puzzles are perfect if you are new to programming, or learning how to use a new language, as they involve all the basics. You will have to master conditional (if then else) and control flow (for, while) statements, to handle numerical variables, arrays, strings. You will also probably need to use basic algorithms such as linear search and sorts.
More advanced algorithms, graph theory.
Even more complex and advanced algorithms.
These puzzles are supposed to be even harder, but that's debatable.