To jest odwrotność Let's do some „deciph4r4ng”
W tym wyzwaniu Twoim zadaniem jest zaszyfrowanie łańcucha. Na szczęście algorytm jest dość prosty: odczytywanie od lewej do prawej, każdy typowy znak pisania (zakres ASCII 32-126) musi być zastąpiony liczbą N (0-9), aby wskazać, że jest taki sam jak znak N + 1 pozycje przed nim. Wyjątkiem jest sytuacja, gdy znak nie pojawia się na poprzednich 10 pozycjach w oryginalnym ciągu. W takim przypadku powinieneś po prostu wydrukować znak ponownie. Skutecznie powinieneś być w stanie odwrócić operację od pierwotnego wyzwania.
Przykład
Łańcuch wejściowy "Programming"
zostałby zakodowany w następujący sposób:
Dlatego oczekiwany wynik to "Prog2am0in6"
.
Wyjaśnienia i zasady
- Łańcuch wejściowy będzie zawierał wyłącznie znaki ASCII w zakresie od 32 do 126. Możesz założyć, że nigdy nie będzie pusty.
- Oryginalny ciąg nie może zawierać żadnej cyfry.
- Po zakodowaniu znaku można do niego odwoływać się kolejna cyfra. Na przykład
"alpaca"
należy zakodować jako"alp2c1"
. - Odnośniki nigdy nie będą owijać się wokół łańcucha: można odwoływać się tylko do poprzednich znaków.
- Możesz napisać pełny program lub funkcję, która wydrukuje lub wyświetli wynik.
- To jest kod golfowy, więc wygrywa najkrótsza odpowiedź w bajtach.
- Standardowe luki są zabronione.
Przypadki testowe
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.