Competitive coding is much like your average sport, let’s say football, for example. You start out knowing absolutely nothing about the world, but with enough practice, a little bit of luck, and guidance from some of the best minds, you make your name as a footballer, at least in your neighbourhood!
A similar world awaits you in competitive coding. Practice, practice, and practice are all it takes to get good at coding and to be an expert at competitive coding, it takes even more practice. We’re not kidding! Starred coders on sites like CodeChef will tell you only one thing that helped them on their journey- constant practice. However, there are a few other tips and tricks that you can definitely add to your arsenal to help you fare much better in future contests.
Here are some tips to sharpen the proverbial sword that is competitive coding!
- For beginners, short contests are better
When you start with competitive programming, the urge would be to dive into the thick of it, go for challenges, and the beloved long contests. While they are amazing for learning, what you need the most at the beginning of your journey is confidence and developing your concepts. Short contests better capture the essence of competitive programming. The usual length of short contests is 2-3 hours and you have to solve 4-5 questions in that timeframe. The learning curve will be steeper in the beginning, if you practice in short-lived and time-bound contests. To get more from the process, it is advisable to go through the editorials for contest questions. Plus, hanging out on forums built for competitive programming is a great way to interact with the greater minds in the world of coding, and learn from their experiences.
- Delay implementation as much as possible
Most competitive coders who are eager to build a reputation often forget one simple thing. In the eagerness of getting to the solution of a problem, they lack in understanding the WHY of code. You have to understand the main objective of these contests to improve your algorithmic thinking. It can be only be enhanced when you spend more time on pen and paper and delay implementation as much as possible. Helpful trick- maintain handwritten notes which contain approaches to various problems that you solve in coding contests and websites. This, after some time, will be like a pit of knowledge which you can refer to anytime you want!
- Trees and graphs are the way to go.
The favourite topic for problem setters of coding concepts is trees and graphs. This is evident from the omnipresence of questions of tree or graph concepts in long and hiring contests. Our tip? If you’re looking to land your dream job through a hiring contest, brush up on your trees and graphs knowledge! Make sure that you learn important algorithms and concepts related to trees and graphs, such as the Kruskal and Prim algorithms, AVL trees, tries, topological sort, traversals on all kinds of trees, and searches in graphs.
- When solving a contest, be attentive!
Students and coders often lose to understand valuable points during the contests simply because they forget to read the question completely.
Sometimes, minute details in a question can help you solve the question in minutes! Make sure you read the question properly.
During all your coding shenanigans, be sure to keep an eye on the clock. If you are unable to solve a question, move on to the next. Getting stuck on a question only runs down the clock, and you might not be able to answer an easier question just because you were too busy racking your brains on a harder one.
Competitive coding, certainly, can be mastered through a lot of practice. What gives you the edge, however, is adopting practices and tips like the ones we’ve just told you. After all, it is competitive in the true sense of the word, isn’t it, and you need everything you can to achieve victory over the competitions!
To learn more about global coding competitions, click here.