Завдання
Рядок 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
.