Ctrl K

Самое большое число из кусков

Средняя
Дан список неотрицательных целых чисел pieces. Их десятичные записи нужно выписать подряд, без пробелов, в каком-то порядке, чтобы получилось одно длинное число. Каждый кусок используется ровно один раз. Выберите порядок так, чтобы итоговое число было как можно больше, и верните его строкой (оно может не поместиться ни в какой целый тип). Ведущих нулей в ответе быть не должно: если число равно нулю, верните "0".
Пример 1
pieces=[5, 51, 56] → '56551'

Сравним варианты: 56551 больше, чем 55651 и 51556, — так что ставим 56, затем 5, затем 51.

Пример 2
pieces=[0, 0, 0] → '0'

Склейка из одних нулей — это число 0, ведущие нули не пишем.

Пример 3
pieces=[12, 121] → '12121'

12121 больше, чем 12112, поэтому 12 идёт первым.

Ограничения
  • 1 ≤ len(pieces) ≤ 100
  • 0 ≤ pieces[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОкруглить цены до нужной суммы СредняяПалиндромы из общих букв СредняяРазличимые сокращения слов СложнаяРазложить анаграммы по группам СредняяСтудии для записи Средняя
загружаем Python…
Вход
pieces=[5, 51, 56]
Ожидается
'56551'

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