Identify its smallest learning units or distinct coding concepts. List these concepts as individual drills, arranged in ascending difficulty level. Finally, explain your problem-solving strategy, showing how each drill contributes to the overall solution. Do not write any code, focus on the process.

  1. Write Python drills for each concept.
  2. Include additional drills for problem-specific needs.
  3. Detail how these drills combine to solve the initial problem.

Problem Classification

Problem Statement:

Consider the given problem statement. Your task is to evaluate and categorize the problem purely based on the language used in the description.

Begin by examining the problem statement thoroughly. Categorize the problem based on the field it pertains to. Is it rooted in data analysis, system design, or another field? Elucidate on your categorization and give reasons to support it.

Now, deconstruct the problem into two parts: the ‘What’ and the ‘How’. The ‘What’ includes the goals or objectives described in the problem, whereas the ‘How’ includes any possible details of execution that are mentioned. For this exercise, we are not concentrating on the ‘How’, so just identify and list any such details without analyzing them.

After you’ve dissected the ‘What’ aspects of the problem, disregard any possible execution (‘How’). Based on these ‘What’ components, how would you further categorize the problem? Give detailed insights into your categorization.

Problem Statement:

How to classify this problem based on only the terminology used in the problem statement? Remove any items that talks about the implementation level details. I only want the classification based on the problem domain. 1. Provide the classification. 2. Separate the What from How in these categories. 3. If we focus on the What (needs to be done from the problem statement without considering how it might be implemented), how would you classify this problem?