Код Senior merge, join и concat обновлено

Средние продажи с учётом пустых дней

Условие

Даны списки магазинов stores, дней days и продажи [store, day, amount] (в один день у магазина может быть несколько продаж, дней без продаж в списке нет). Верните словарь {store: среднедневная выручка}, где среднее считается по ВСЕМ дням из days (день без продаж = 0), округление round(..., 2).

Примеры

fill_calendar(["A", "B"], ["d1", "d2", "d3"], [["A", "d1", 30], ["A", "d3", 30], ["B", "d2", 9]]) // {"A":20,"B":3}
fill_calendar(["A"], ["d1", "d2"], []) // {"A":0}
fill_calendar(["A"], ["d1"], [["A", "d1", 5], ["A", "d1", 7]]) // {"A":12}

Как подойти

Подсказки: 2
  1. Постройте сетку всех пар магазин-день.
  2. Сначала сложите несколько продаж за день, потом left merge и fillna(0).

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.