Este é o inverso de Vamos fazer um "deciph4r4ng"
Nesse desafio, sua tarefa é codificar uma sequência. Felizmente, o algoritmo é bastante simples: lendo da esquerda para a direita, cada caractere de escrita típico (intervalo ASCII 32-126) deve ser substituído por um número N (0-9) para indicar que é o mesmo que o caractere N + 1 posições antes dele. A exceção é quando o caractere não aparece nas 10 posições anteriores na sequência original. Nesse caso, você deve simplesmente imprimir o caractere novamente. Efetivamente, você poderá reverter a operação do desafio original.
Exemplo
A string de entrada "Programming"
seria codificada desta maneira:
Portanto, a saída esperada é "Prog2am0in6"
.
Esclarecimentos e regras
- A sequência de entrada conterá caracteres ASCII exclusivamente no intervalo 32 - 126. Você pode assumir que nunca estará vazio.
- A sequência original é garantida para não conter nenhum dígito.
- Uma vez codificado, um caractere pode ser referenciado por um dígito subsequente. Por exemplo,
"alpaca"
deve ser codificado como"alp2c1"
. - As referências nunca serão agrupadas em torno da string: somente caracteres anteriores podem ser referenciados.
- Você pode gravar um programa completo ou uma função que imprima ou produz o resultado.
- Isso é código de golfe, então a resposta mais curta em bytes vence.
- As brechas padrão são proibidas.
Casos de teste
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.