Competitive Programming:
Key steps in learning Competitive programming:
1. Choose any well known programming language used for Competitive programming:
You can do competitive programming in any programming language but it is highly recommended that you choose one of C/C++ or Java. The reason being that the time of execution is a key factor in Competitive Programming and so, choosing a language whose time of execution is fast is surely going to give you a benefit. C/C++ and Java are relatively faster, particularly when compared to languages like Python. Python is slow as compared to C/C++ and JAVA,that's why very less number of programmers used to do Competitive Programming in Python due to its time factor which is highly prioritised in Competitive Programming.
2. Choose some platforms to practice Competitive programming and to participate in contest:
As per my personal experience if you are a beginner i will recommend everyone to start with HackerRank,it has really the best user interface and IDE. HackerRank has a good set of problems for beginners placed in well defined manner according the tags and difficulty levels.The main thing that HackerRank provide to the users is that if you get stuck on some problem from very long time and only passing some of the test cases, then you can download the test cases and you can review your logic to do some modifications,it will help in thought process to be able to think about corner test cases.But seeing the test cases is not always good, after some duration(about 2 or 3 months) you itself should be able to think that which test case might give WA(wrong answer). And after the practice of 2 or 3 months you can also start doing practice and participating in contests on some of these famous sites CodeChef,CodeForces,AtCoder. CodeChef is known for long challenge(10 days duration),CookOff(2.5 hrs),LunchTime(3 hrs). Codeforces is known for short duration contests of atmost 3hrs long.
3. Get your hands dirty in Data Structures:
Data Structures are something that helps you in making the program more efficient. Having good amount of knowledge in Data Structures will help you in selecting the optimal Data Structure for any problem. Anyone can learn Data Structures from GeeksForGeeks, it contains Data Structures tutorials and problems in rich amount.
4. Get your hands dirty in Algorithms:
5. Keep Practicing practicing …….. Practicing:
Always keep yourself motivated enough to solve the problem, it will help you in enhancing your problem solving skills. As now you have good knowledge of Data Structures and Algorithms you can do really well in world of Competitive programming if you keep practicing continuously.
Some useful YouTube links for Competitive Programming:
So to master the Competitive Programming you need dedication, patience and continuous practice to solve the problems as many as you can.
Code,sleep,eat and repeat.
Enjoy Coding !
~Kuber Khandelwal
0 Comments
if you have any doubts.Please let me know