how to improve problem solving

By,solving more and more questions, trying to improve your solution by yourself before referring to the solution section. Even if your solution is accepted, is it the optimal solution? What is the time and space complexity of your solution? Can you make it better? Once you determine that the solution you have at your hand is your best one, try to compare with the approach of other people. If you find a better approach in the discussions, think about what you were missing in you thought process and try to learn from it. In my opinion, it is much more important to learn the thought process behind the solution of a problem rather than learning how to solve it.