I have just begun the journey to learn competitive programming. All I want to know is the correct approach/path that I should follow to solve the problems here such that I learn concepts from the beginning.

I tried sorting beginners section problems by most solved but after 4-5 problems, it suddenly starts recursion and dynamic programming. I have no problem in learning recursion but I would prefer learning basic concepts and then jump to intermediate ones

So, can anyone help me here on the approach to follow by suggesting me problems/sites that will help me learn concepts sequentially?