Competitive programming
“if you have not heard this word before, you will eventually be going to hear it in the future”
“Everybody in this country should learn to program a computer, because it teaches you how to think”
These are the lines quoted by Steve Jobs, founder, and CEO of Apple.Inc
Once you enter the world of Programming you will understand that how much relevant every word of these lines to your life. After you start programming you just not only learn how to code but also learn the “art of thinking”.
Programming is fun, programming is a brain exercise, programming is cool, but do you know programming is also a sport, it is a mental sport which is known as competitive programming.
Now you know what is competitive programming and maybe you have some questions, so I will try to give answers to some questions that I think can be one of yours.
Why should you learn competitive programming? Why do you need it?
Being a programmer is a very challenging role once you enter this field you will encounter new challenges, maybe you have to solve a problem which no one else solved before or their solution doesn’t exist on the internet. The programming world is not like the world you have imagined through memes it's not ctrl+C ctrl+V always. At that time you have to come up with solutions in the least possible time with your problem-solving skill and logical ability.
Competitive programming helps you to build your problem-solving skill and logical ability. You are given some real-world related problems you have to come up with some solutions in some time constraints with your knowledge and skills.
The goal of Competitive programming is “To prepare a programmer such that his/her logical ability increases and he/she can write code for the challenging situation.”
Another reason is that a lot of big companies like Google, Facebook. Microsoft, Amazon hires through competitive programming so if you want to get into these companies then you need to get your hands dirty in competitive programming.
The core directive of Competitive programming is this: “given well-known Computer science(CS) problems, solve them as quickly as possible.
Let’s digest the term one by one. The term ‘well-known CS problems’ implies that in Competitive programming(CP) we are dealing with solved CS problems and not research problems(where the solution is still unknown). Some people (at least the problem author)have solved these problems before. To ‘Solve them’ implies that we have to push our CS knowledge to a certain required level so that we can produce working code that can solve these problems too. The need to solve the problems as quickly as possible is where the competitive element lies, the fast you can solve the problem better you are from fellow programmers who are solving the same problem in more time than you.
Thank you.
If You liked the article please let us know through feedback and if you want more content on competitive programming please let us know.