Ctrl K

Символы, сгруппированные по частоте

Средняя
Наборщик раскладывает литеры строки text по кучкам: одинаковые символы должны стоять подряд, а кучки — идти от самой большой к самой маленькой (размер кучки — сколько раз символ встречается в text). Если две кучки одного размера, первой идёт та, чей символ раньше встречается в text. Заглавная и строчная буквы — разные символы. Верните получившуюся строку.
Пример 1
text="banana" → 'aaannb'

a встречается 3 раза, n — 2, b — 1, поэтому ответ "aaannb".

Пример 2
text="xyz1y" → 'yyxz1'

Впереди yy. Остальные символы встречаются по разу, и они идут в порядке первого появления: x, z, 1.

Пример 3
text="Mm" → 'Mm'

M и m — разные символы, по одному разу каждый; M встретился раньше.

Ограничения
  • 1 ≤ len(text) ≤ 5·10⁵
  • text состоит из латинских букв (заглавных и строчных) и цифр
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамые частые запросы СредняяСамые частые значения СредняяБез одинаковых соседей СредняяЗаполнить пропуски с минимумом повторов СредняяОдинаковые буквы на расстоянии Сложная
загружаем Python…
Вход
text="banana"
Ожидается
'aaannb'

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