У цьому виклику ваше завдання - розшифрувати рядок. На щастя, алгоритм досить простий: читаючи зліва направо, кожну зустрічну цифру N (від 0 до 9) необхідно замінити символом, який є перед ним N + 1 позиціями.
Приклад
Рядок введення "Prog2am0in6"
буде декодований таким чином:
Отже, очікуваний вихід "Programming"
.
Роз'яснення та правила
- Вхідний рядок буде містити символи ASCII виключно в діапазоні 32 - 126. Можна припустити, що він ніколи не буде порожнім.
- Оригінальний розшифрований рядок гарантовано не містить жодної цифри.
- Після того, як символ розшифрований, він може, в свою чергу, посилатися на наступну цифру. Наприклад,
"alp2c1"
слід розшифрувати як"alpaca"
. - Посилання ніколи не обертаються навколо рядка: на нього можуть посилатися лише попередні символи.
- Ви можете написати або повну програму, або функцію, яка або друкує, або виводить результат.
- Це кодовий гольф, тому найкоротша відповідь у байтах виграє.
- Стандартні лазівки заборонені.
Тестові кейси
Input : abcd
Output: abcd
Input : a000
Output: aaaa
Input : ban111
Output: banana
Input : Hel0o W2r5d!
Output: Hello World!
Input : this 222a19e52
Output: this is a test
Input : golfin5 3s24o0d4f3r3y3u
Output: golfing is good for you
Input : Prog2am0in6 Puz0les7&1Cod74G4lf
Output: Programming Puzzles & Code Golf
Input : Replicants 4re3lik448ny3oth8r5mac6in8.8T64y'r371it9376a1b5n1fit7or2a1h2z17d.
Output: Replicants are like any other machine. They're either a benefit or a hazard.
1bbab
буде правильним вхід (із очікуваним виходом abbab
)? Іншими словами, чи можна посилання обернути навколо рядка?
1bbab
не вірно. Я додав пояснення з цього приводу.