,
Share On

Claps upto fifty times for each post.

45


Programming and problem solving

Problem-solving skills and the problem-solving process are a critical part of daily life both as individuals and in organizations. In computer science, problem-solving is the most interesting task that increases our logical sense and empowers us to find the best solution. If you are a developer trying to progress in your career or a beginner trying to break into the prestigious career of software engineering, problem-solving is a must.

In HackerRank’s 2019 Skills Report, which questioned over 71,000 respondents on a variety of tech issues, there’s a (deeply buried) question about what employers and recruiters value in potential hires.

The clear winner (among businesses of all sizes) was problem-solving: On average, 94.9 percent of respondents ranked this as a “core” desired competency in recruits. In a distant second were programming language efficiency (56.6 percent), debugging (47.1 percent), and system design (40.3 percent).

“Demonstrating computational thinking or the ability to break down large, complex problems is just as valuable (if not more so) than the baseline technical skills required for a job,” HackerRank stated.

Start with aN easy one

Problem-solving is fun, you can solve a problem by analyzing it and coming to a solution, or follow a process.

Problem solving steps

Let’s understand problem solving by solving a famous problem. The Pizza cutting problem.

Problem description

A pizza can be cut into many pieces but cut it only vertically, horizontally, or diagonally. By making 2 cuts on a pizza, you can produce a maximum of 4 pieces, on 3 cuts, you can produce a maximum of 7 pieces, and so on. Your duty is, “Given a pizza and the number of cuts you can make, output the maximum number of pizza pieces the given number of cuts can produce”. The number of cuts can be any positive integer.

Understand the problem

There is one pizza, and the number of cuts you can make, Condition is you can cut it only vertically, horizontally, and diagonally. Cut it in a way that you can produce the maximum pieces of pizza.

Solution
// n = number of cuts
maximumPiece = n*(n+1)/2;
// for n = 3, 3*(3+1)/2 +1 = 7, for n = 4, 4*(4+1)/2 + 1 = 11

Well, there you solved the pizza cutting problem; now you can easily tell the maximum number of pieces anyone can produce on any given number of cuts with the solution you just generate rather than manually cutting an actual pizza and trying to maximize the number of pieces.

Prerequisite

If you know the basics of any high-level programming languages like C, C++, Python, Java, Javascript, and PHP, you are good to go. Most popular are C, C++, Java, and python.

Where to practice?
conding practice sites

These are some most popular coding practice sites where you can find problems and submit solutions for them. Problems are often categorized with difficulty level. Different coding sites are popular for different specializations like the online judge is popular for beginners, and one of the most recommended, Codeforces is especially for weekly online contests, and one of the most prestigious coding platforms, LeetCode, HackerRank, and CoderByte are popular for interview preparation. You can start from any of those sites, you will find easy and giveaway problems for starting your programming journey, then try to solve all categories of problems. 

Where to learn?

Oftentimes, you will get stuck trying to solve a problem, you can get help from the discussion section/forum on that coding site where you will get the idea and the different approaches of the solution, or If you need to learn certain data structure/algorithms to solve the problem. There are some awesome sites out there. GeeksForGeeks is one of the best data structure and algorithm learning sites.

Conclusion

This is the first blog about Programming and problem-solving. I tried to introduce you a little to the world of programming and its impact of it. In the upcoming blogs, I will dive deep into different approaches, categories, and algorithms related to problem-solving. Till then, happy coding 😊


6 responses to “Programming and problem solving”

  1. Hasanuzzaman Avatar

    Quite a bit of information, thanks for sharing. 😊

    1. AKM Elias Avatar
      AKM Elias

      Thank you, I appreciate it.

  2. Sabbir Ahmed Avatar
    Sabbir Ahmed

    Very well Writing, thanks Elias.

    1. AKM Elias Avatar
      AKM Elias

      Thank you.

  3. […] and finding an easy solutions. If you are new to programming, here is a blog about the impact of programming and problem solving, you should give it a […]

  4. […] are some blogs for beginners to begin with programming. Programming And Problem Solving, Programming And The Ad Hoc Problems. Till then happy coding […]

Leave a Reply

Your email address will not be published. Required fields are marked *

AKM Elias Avatar

Click to follow this author!


Posts by this author


Posts related this

Dynamic programming! A blog generated by ChatGPT

AKM Elias

08 December 2022

Dynamic programming part – 1(Memoization)

AKM Elias

30 October 2022

Recursion & Recursive Solution

AKM Elias

12 September 2022

Programming and The Ad Hoc problems.

AKM Elias

28 August 2022

Programming and problem solving

AKM Elias

21 August 2022