Задание
Строка S
строится с помощью следующего процесса:
- Начните с
S
того, чтобы быть пустой строкой. - Вставьте в некоторую позицию
S
строки видаds
, гдеd
это ненулевая цифра иs
строкаd
строчных букв ASCII. Мы говорим,ds
является составной частьюS
. - Перейдите к шагу 2 или остановитесь.
Ваша задача - взять такую строку в качестве входных данных и вывести ее составляющие, объединенные в одну строку, в порядке появления их начальных цифр. Вывод должен быть одной строкой, и между компонентами не должно быть разделителей (включая переводы строк). Вы можете выбрать, будут ли входные и выходные строки иметь кавычки. Обратите внимание, что вход и выход никогда не будут пустыми.
пример
Давайте построим строку с вышеописанным процессом. Структура составляющих выделена в конечном результате.
S = "" // Insert "3abc"
S = "3abc" // Insert "2gh" after 'a'
S = "3a2ghbc" // Insert "1x" before '3'
S = "1x3a2ghbc" // Insert "3tty" after '3'
S = "1x33ttya2ghbc" // Final result
└┘│└┴┴┘│└┴┘││
└────┴───┴┘
Вывод получается путем объединения составляющих в порядке их цифр. В этом случае правильный вывод
"1x3abc3tty2gh"
Правила и оценки
Вы можете написать полную программу или функцию. выигрывает наименьшее количество байтов, и стандартные лазейки запрещены.
Контрольные примеры
1k -> 1k
4asdf -> 4asdf
111xyz -> 1z1y1x
8whatever3yes -> 8whatever3yes
8what3yesever -> 8whatever3yes
1x33ttya2ghbc -> 1x3abc3tty2gh
63252supernestedstrings2ok -> 6trings3eds2st5perne2su2ok
9long3yes4lo2ngwords11here -> 9longrdsre3yes4lowo2ng1e1h
9abc8de7fg6hi5jk4lm3o2pq1rstuvwxyzabcdefghijklmnopqrst -> 9abcopqrst8deijklmn7fgdefgh6hizabc5jkwxy4lmuv3ost2pq1r
if z in k:m+=N(z)+1
.