If you Actually want to start competitive coding then you must have to follow this method.
Learn C++ or Java. If you can learn C, you can learn C++ and I recommend java first.
Why? Because C++ and Java both works on object oriented programming also these are not too complex languages.
don’t use Python, Ruby, etc, for CP. These are very high-level languages that won’t give you as much control over your code as needed.
Get on Hackerrank because it has the best User Interface, combined with relative ease of getting started for the beginners.
Ease in the sense that anyone with zero CP/algorithms experience will be able to solve the beginner Questions because it’s for everyone.
You might get stuck after first 4-5 questions and that’s normal. In that case, feel free to see the editorial or google to look for the solution.
When you find it, make sure to understand it, and then code it on your own.
First, solve “Easy” questions of all sections, and then “Medium” questions.
In fact, solving some “Medium” questions is good enough to call yourself a CP professional.
And when you make sure that you’re able to solve Medium questions , then start CP on CodeChef that is a much professional practical area to code.
Codechef long contests are the best. Developing your Competitive Programming skills requires that you are both fast and are able to think deeply about a problem.
Codechef long challenges = Deep thinking AND Codeforces rounds = Fast coding
If you want to be good, you should try to be good in both these areas.
But it’s fine if you are just good at long challenges (deep thinking) or just good with short contests (fast thinking), both will help you become a better programmer.
You can try Topcoder if you want. Or just let it be.
With CP, if your goal is to get offers from Google HQ and likes, you will have to do it regularly. That is, give contests, try to rank higher, and build your rating.
Otherwise, you can just do it on the side and focus on building other practical skills.
These practical skills combined with your decent competitive programming experience will go a long way in helping you secure those jobs and internships you dreamed about.
Keep doing this it will take Some time but it is the best way to be a Competitive Programmer.
Don’t Be Frustrated.