The complete roadmap to become a Competitive Programmer

Ajay Prakash Nair
3 min readJun 15, 2021

Programming is fun, programming is an exercise for your brain, programming is a mental sport and when this sport is held over the internet involving sport programmer as a contestant then it is called Competitive Programming.

Programming is a challenging role and once you enter this field you will encounter new challenges and you may have to solve some problems which no one has solved before or their solution doesn’t exist anywhere. At that time you are expected to come up with a solution in the least possible time using your problem-solving and logical ability. So the one and clear goal behind these competitive programming is To prepare a programmer such that his/her logical ability increases and he/she is able to write code for the challenging situation.

How to prepare yourself for Competitive Programming?

1. Choose a Programming Language: Firstly, you need to choose a programming language that you are most comfortable with and learn its syntax. It can be anything C, C++, Java, Python, or any programming language. Programming languages are a tool through which you can communicate to the computer and instruct what to do. C++, C or Java is a faster programming language in comparison to any other language also it is allowed to use in any coding challenge or interviews. So it’s good if you choose one out of these three still there is no restriction if you are comfortable with another language. If you are a beginner you can go with python because it’s easy to learn and syntax are user-friendly. If you have at least an intermediate hold on the anyone programming language you won’t face difficulty in writing the code using the syntax of it.

2. Understand the Concept of Time and Space Complexity: In most of the cases there is more than one solution that exists to a problem so you need to come up with the best solution i.e optimal one and that’s decided by how much time and space an algorithm takes to solve a problem. So it’s really important to learn about these two concepts to write an optimal solution for the problem.

3. Learn the Fundamentals of Data Structures and Algorithms: DSA is the heart of programming and you can not ignore it while solving coding problems in competitive programming. Array, Linked List, Stack, Queue, Tree, Trie, Graph, Sorting, Recursion, Dynamic Programming all these basic building blocks of DSA will help you to become a good programmer. The most important thing you need to know what, when and where to apply them. It means which data structure is suitable for what type of problem to get the optimal solution. You should know how to apply a perfect combination of both in the coding problem.

4. Take the Challenge and Solve Coding Problems: You have learned a programming language, you have learned time and space complexity and you have also covered the fundamentals of DSA, now it’s time to take the knife in your hand and kill the lion in the jungle. Yes…you need to take part in coding challenges on different coding platforms. Before participating in contest it would be great if you practice for some challenges on your own and then participate there. If you are looking for the resources of these coding platforms so alot of sites are there like Geeksforgeeks, Codeforces, Codechef, Topcoder, SPOJ.

Check out full post at : https://www.instagram.com/p/CQF6HADj1kY/

--

--