В блоке «Продавцы рядом» на Авито каждый продавец задан тройкой [имя, рейтинг, отзывы]: рейтинг от 1.0 до 5.0 с шагом 0.1, отзывы — целое число.
Верните имена в порядке показа: выше рейтинг — раньше; при равном рейтинге раньше тот, у кого больше отзывов; если и это совпало — по алфавиту.
В работе: Продавец с 4.9 и 3 отзывами не должен обгонять продавца с 4.9 и 1200 отзывами.
Пример 1
Ввод
sellers = [["Велосклад", 4.9, 3], ["Мир шин", 4.9, 1200], ["Антон", 5.0, 12], ["Дачник", 4.7, 300]]
Вывод
["Антон", "Мир шин", "Велосклад", "Дачник"]
Антон с 5.0 первый, затем двое с 4.9 — по отзывам.
Пример 2
Ввод
sellers = [["Борис", 4.5, 10], ["Анна", 4.5, 10]]
Вывод
["Анна", "Борис"]
Всё совпало — по алфавиту.
Ограничения
- 0 ≤ n ≤ 10⁵
- имена различны
- 0 ≤ отзывы ≤ 10⁶
- Лимит — 2 с на тест (1500 мс).
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def rank_sellers(sellers):
Источник: наша задача на данных Авито. Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.