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