Ctrl K

Средний балл по пяти лучшим

Лёгкая
Есть журнал результатов игроков: scores[i] = [id, score] означает, что игрок с номером id однажды набрал score очков. У каждого игрока в журнале не меньше пяти записей, записи идут в произвольном порядке. Для каждого игрока возьмите пять его лучших результатов, сложите их и разделите на 5 нацело (дробную часть отбросьте). Верните список пар [id, среднее] по одной на каждого игрока, отсортированный по возрастанию id.
Пример 1
scores=[[2, 70], [4, 100], [2, 80], [4, 90], [2, 90], [4, 80], [2, 60], [4, 70], [2, 100], [4, 60], [2, 50]] → [[2, 80], [4, 80]]

У игрока 2 шесть результатов, лучшие пять: 100 + 90 + 80 + 70 + 60 = 400, 400 // 5 = 80. У игрока 4 ровно пять: (100 + 90 + 80 + 70 + 60) // 5 = 80.

Пример 2
scores=[[9, 41], [9, 40], [9, 40], [9, 40], [9, 40]] → [[9, 40]]

Сумма 201, при делении нацело на 5 получается 40 — дробная часть отбрасывается.

Ограничения
  • 1 ≤ len(scores) ≤ 1000
  • scores[i] — пара [id, score]
  • 1 ≤ id ≤ 1000
  • 0 ≤ score ≤ 100
  • У каждого игрока не меньше пяти записей
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЛучшие оценки по порядку ЛёгкаяРазобрать стопки поровну ЛёгкаяСамые частые значения СредняяЗадания с перерывом на остывание СредняяСамый узкий отрезок для всех списков Сложная
загружаем Python…
Вход
scores=[[2, 70], [4, 100], [2, 80], [4, 90], [2, 90], [4, 80], [2, 60], [4, 70], [2, 100], [4, 60], [2, 50]]
Ожидается
[[2, 80], [4, 80]]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 74 теста на сервере, включая скрытые.