Контест Middle Лямбды и Stream API обновлено

Лучший сотрудник каждого отдела

Условие

Для каждого отдела найдите сотрудника с максимальной зарплатой. Если таких несколько, выберите первого по алфавиту.

Ввод: в первой строке n (1 ≤ n ≤ 10⁴), далее n строк имя отдел зарплата. Имена уникальны, зарплата от 1 до 10⁹.

Вывод: строки отдел имя зарплата, отделы по алфавиту.

Пример

5
anna dev 300
boris dev 500
vera qa 200
gleb qa 200
dina dev 100
dev boris 500
qa gleb 200

Как подойти

Подсказки: 2
  1. toMap(key, value, merge, mapFactory).
  2. BinaryOperator.maxBy строит функцию слияния из компаратора.

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

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