Doordash | Phone screen |
from datetime import datetime, timedelta
def get_available_deliveries(dasher, deliveries, current_time):
# TODO: implement.
return []
class Delivery(object):
def init(self, idx, pickup_time, store_id):
self.id = idx
self.pickup_time = pickup_time
self.store_id = store_id
class Dasher(object):
def init(self, idx, tier):
self.id = idx
self.tier = tier # 'low', 'high'
today = datetime(2021, 1, 15)
dasher = Dasher('dasher', 'low')
deliveries = [
Delivery('1', today + timedelta(hours=10), 'store_1'),
Delivery('2', today + timedelta(hours=30), 'store_1')
]
available_deliveries = get_available_deliveries(
dasher=dasher,
deliveries=deliveries,
current_time=today + timedelta(hours=18)
)
print([d.id for d in available_deliveries]) # Should include delivery 1.