The thrilling world of competitive coding requires skills that go beyond what is traditionally taught in classrooms. Given a problem, there are often several possible ways to solve it. Identifying the best approach, formulating the core idea and the steps needed to break down the problem before even writing a single line of code, all the while keeping in mind the limited resources available... Whew! No wonder this is a highly sought after skill.
Learn problem solving techniques systematically by first analyzing the question and coming up with ideas, formulating a solution via a flow chart, and finally coding it up in python.