TIP102 Unit 3 Session 2 Advanced (Click for link to problem statements)
Understand what the interviewer is asking for by using test cases and questions about the problem.
blueprints
, where each integer represents the complexity level of a blueprint.Plan the solution with appropriate visualizations and pseudocode.
General Idea: Sort the list of blueprints by complexity and then process each blueprint in that order using a queue to simulate the approval process.
1. Sort the list `blueprints` in ascending order based on their complexity levels.
2. Initialize a queue (using `deque`) and append each sorted blueprint to the queue.
3. Initialize an empty list `approved` to keep track of the order of approved blueprints.
4. While the queue is not empty:
1. Remove the first blueprint from the queue and add it to the `approved` list.
5. Return the `approved` list, which contains the blueprints in the order they were approved.
⚠️ Common Mistakes
from collections import deque
def blueprint_approval(blueprints):
queue = deque()
for blueprint in sorted(blueprints):
queue.append(blueprint)
approved = []
while queue:
approved.append(queue.popleft())
return approved
# Example usage
print(blueprint_approval([3, 5, 2, 1, 4])) # Output: [1, 2, 3, 4, 5]
print(blueprint_approval([7, 4, 6, 2, 5])) # Output: [2, 4, 5, 6, 7]