Tags: Coca-Cola 'S Corporate Social Responsibility Strategy Case StudyLamb Romantic EssayistSmall Business Planning SoftwareSamedayessay.ComDover Beach Essay AnalysisScience Research Proposal Sample
Whenever any coding problem is given, by basic instincts most of the people follow some predefined steps which allows them to approach that problem effectively.
I did some more problems and kept writing down what all was there in my mind before and after I solve any problem.
To my surprise there was a common pattern, unknowingly I was doing these 5 things and now that I know about these 5 steps, I am able to solve problems more efficiently.
So in this article, I am going to discuss 5 steps that you can take while solving any coding question ✨Being a developer myself, I found that most of the developers out there (including many “very” skilled devs), are not that good when it comes to data structures, algorithms and problem solving in general.
It’s a sad thing that these days many people are just cramming some basic steps to develop an application, or a simple software and calling themselves “coders”.
Again, as I said in the intro, it is highly probable that you are also using these steps unconsciously, but when you will find out you’ll start applying these consciously and then notice the difference 😁Read the problem, start thinking about it and if possible write the things that are given and the things that you need to find out on a piece of paper.
Ask yourself,— Are you able to understand the question fully? Going through some sample inputs and coming up with more examples sure helps you a lot to understand the problem well, and moreover, it gives you a clear way to how many cases your code should handle, and what all can be the possible output or output range.Here are the 5 points we discussed in this article👉 Analyze and understand the problem👉 Have a look at sample inputs and use cases👉 Break down the problem into smaller subparts, or functions, or modules👉 Start solving/coding👉 Once you are done, look back whether the code can be improved, is there any other way to solve the given problem, That’s it, I hoped this article would add value to your problem-solving skills 😃Interested in improving your skills in data structures, algorithms, and competitive programming?I’ve started an initiative called “Daily Codes” where we solve one question each day together, do check out this repository: Feel free to reach out to me anytime if you want to discuss something : DI would be more than happy if you send your feedbacks, suggestions or ask queries.Once you are done, look back whether the code can be improved, is there any other way to solve the given problem?Apart from these questions, do check out other people’s solution to the same problem also, check out how they solved it, you learn a lot while seeing other’s codes.Therefore, this language representation and the process of creating it becomes a fundamental part of the discipline.Algorithms describe the solution to a problem in terms of the data needed to represent the problem instance and the set of steps necessary to produce the intended result.Moreover, I love to make new friends and we can be friends, just drop me a mail. By lbackstrom — Topcoder member Discuss this article in the forums The first step towards an understanding of why the study and knowledge of algorithms are so important is to define exactly what we mean by an algorithm. Rivest, Clifford Stein), "an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values as output." In other words, algorithms are like road maps for accomplishing a given, well-defined task.— Would you be able to explain the question to a layman? — What would be the output for those inputs — Can you separate out some modules or parts from the problem? Here’s what I would suggest,— Take very simple examples and find the output — Take more complex and bigger inputs to see what will be the output, how many use cases do we want Then, “Time to handle the edge cases”— Try out the problem with no input, what should be the output now — Try out the problem with invalid input, what should be the output now This step is really very helpful when the problem at hand is very big.In such cases, I recommend the following,— Try to make a flow chart or a UML for the problem in hand — Divide the problem into different modules or sub-problems — Try to make independent functions for each sub-problem — Connect those sub-problems by calling them in the required order, or as necessary (Probably one function would be calling another) — Try to use classes and objects while handling questions which try to implement some real-world problem (like management systems, etc.)Now that you’ve analyzed the problem it’s time to actually write the code.