En este desafío, su tarea es descifrar una cadena. Afortunadamente, el algoritmo es bastante simple: leyendo de izquierda a derecha, cada dígito encontrado N (0 a 9) debe ser reemplazado por el carácter que es N + 1 posiciones antes.
Ejemplo
La cadena de entrada "Prog2am0in6"
se decodificaría de esta manera:
Por lo tanto, la salida esperada es "Programming"
.
Aclaraciones y reglas.
- La cadena de entrada contendrá caracteres ASCII en el rango 32 - 126 exclusivamente. Puede suponer que nunca estará vacío.
- Se garantiza que la cadena descifrada original no contendrá ningún dígito.
- Una vez que un personaje ha sido decodificado, a su vez puede ser referenciado por un dígito posterior. Por ejemplo,
"alp2c1"
debe decodificarse como"alpaca"
. - Las referencias nunca se ajustarán a la cadena: solo se puede hacer referencia a los caracteres anteriores.
- Puede escribir un programa completo o una función, que imprime o genera el resultado.
- Este es el código de golf, por lo que gana la respuesta más corta en bytes.
- Las lagunas estándar están prohibidas.
Casos de prueba
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
Sería una entrada válida (con salida esperada de abbab
)? En otras palabras, ¿pueden las referencias envolver la cadena?
1bbab
no es valido. He agregado una aclaración sobre eso.