All problems

Which Drivers Are Doing the Most Rides?

mediumPythonMergeGroupBy

Dispatch wants a load-balancing check: which drivers are completing the most rides, so new ride requests can be routed more evenly. The same tally gets run over the cancellations as well — a driver who collects them is a different problem from a driver who is simply busy — so the kind of ride being counted is a setting rather than something fixed in the report.

Drivers

id name city rating
1 Sam Rios Austin 4.9
2 Priya Desai Denver 4.6
3 Oscar Lund Seattle 4.8
4 Nina Cole Austin 4.2

Rides

id rider_id driver_id distance_km fare ride_date status
1 1 1 5.2 12.5 2023-06-01 completed
2 1 2 3 8 2023-06-03 completed
3 2 2 10 22 2023-06-02 completed
4 3 1 2.1 6.5 2023-06-05 cancelled
5 3 4 4.4 11 2023-06-06 completed
6 4 3 7.8 18 2023-06-04 completed
7 5 2 1.5 5 2023-06-07 cancelled
8 2 2 12.3 26.5 2023-06-10 completed
9 1 1 6.6 15 2023-06-12 completed
10 4 3 3.3 9 2023-06-15 completed
11 5 2 8.8 19.5 2023-06-18 completed
12 3 1 2.9 7.5 2023-06-20 cancelled

Input

Both tables above are already built for you — the driver and ride rows are not read from input. What does arrive is a single line holding the ride status dispatch wants tallied this time.

Task: Print a dict mapping driver name → how many rides at that status they have, for every driver who has at least one. A driver with none does not appear as a zero, and a status that no ride carries gives an empty dict rather than an error.

Sign in to solve this problem

Reading problems is free for everyone — solving them (Run, Submit, and tracking what you've solved) needs an account.

Sign in

Discussion

Sign in to join the discussion — reading is open to everyone.

Loading comments…