Approach to Maximize Learning and Efficiency

I have just recently started solving problems from platforms. My approach to a question is as follows:

  1. Reading the question carefully
  2. Thinking about various approaches for maximum of 20-30 minutes, after which if I still have no approach I look for hints and build up from there for 5 more mins thinking of an approach.
  3. Then I read the solution a few lines at a time and try to complete the solution myself. I try to dedicate a maximum of 60-90 minutes per problem.
  4. Every 2 weeks I also revise the questions that I wasn't able to solve.
  5. Have started with topic-wise practice, solving easy/few medium questions from each data structure; and once I cover most topics I will move on to random topic problems.

I get a lot of advice to give an hour of plain thinking before looking at any hints, a few hours/ a day to solve one problem before looking at solutions, and do not have an interested peer group/good coding culture around me. I wanted to ask if it is really ideal for a beginner to give so much time to questions; especially for easy questions, when I am not able to think of approaches after a certain point of time? Considering I am a college student and also do other things like development and have limited time in my schedule? Also is there anything more I can do to maximize my learnings and logical thinking from the problems I solve?

I apologize if my question is silly.

Comments (1)