-
Notifications
You must be signed in to change notification settings - Fork 242
The Library of Alexandria
LeWiz24 edited this page Aug 13, 2024
·
2 revisions
Understand what the interviewer is asking for by using test cases and questions about the problem.
- Q
- What is the desired outcome?
- To determine the difference in the number of scrolls for each room between the expected and actual distributions.
- What input is provided?
- Two dictionaries,
library_catalog
andactual_distribution
, mapping room names to the expected and actual number of scrolls respectively.
- Two dictionaries,
- What is the desired outcome?
Plan the solution with appropriate visualizations and pseudocode.
General Idea: Loop through the library_catalog
and calculate the difference in scrolls for each room.
1) Initialize an empty dictionary `differences` to store the differences for each room.
2) Loop through the `library_catalog`:
- For each room, retrieve the expected scrolls from `library_catalog`.
- Retrieve the actual scrolls from `actual_distribution`, defaulting to 0 if the room is not present.
- Calculate the difference and store it in `differences`.
3) Return the `differences` dictionary.
- Forgetting to handle rooms that are in
library_catalog
but missing inactual_distribution
.
def analyze_library(library_catalog, actual_distribution):
differences = {}
# Loop over library_catalog to calculate the difference in scrolls for each room
for room in library_catalog:
expected_scrolls = library_catalog[room]
actual_scrolls = actual_distribution.get(room, 0)
differences[room] = actual_scrolls - expected_scrolls
return differences