Ctrl K

Принтер с подносом

Средняя
У принтера есть лента с буквами tape и поднос, на который буквы складываются стопкой. Изначально поднос пуст. Пока на ленте или на подносе есть буквы, можно выполнять одно из двух действий: - снять **первую** букву с ленты и положить её на поднос сверху; - взять **верхнюю** букву с подноса и напечатать её на бумаге (она дописывается в конец напечатанного). В конце все буквы оказываются на бумаге. Верните лексикографически наименьшую строку, которую можно так напечатать.
Пример 1
tape='dcab' → 'abcd'

Кладём на поднос d, c, a. Печатаем a; на подносе сверху c, но на ленте ещё есть b, и она меньше — кладём b и печатаем b, затем c и d. Получается «abcd».

Пример 2
tape='cbc' → 'bcc'

Кладём c и b, печатаем b. Сверху c, а на ленте осталась тоже c — не меньше, так что печатаем c, затем берём последнюю c и печатаем её: «bcc».

Пример 3
tape='ba' → 'ab'
Ограничения
  • 1 ≤ tape.length ≤ 10⁵
  • tape состоит только из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗвёздочки стирают меньшие буквы СредняяКаждая буква по разу СредняяВычеркнуть цифры ради минимума СредняяНаименьшая последовательность по стрелкам СредняяСкобки со звёздочками Средняя
загружаем Python…
Вход
tape='dcab'
Ожидается
'abcd'

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