Esta es una versión de código de golf de una pregunta similar que hice en la pila anteriormente, pero pensé que sería un rompecabezas interesante.
Dada una cadena de longitud 10 que representa un número base 36, increméntelo en uno y devuelva la cadena resultante.
Esto significa que las cadenas solo contendrán dígitos de 0
a 9
y letras de a
a z
.
Base 36 funciona de la siguiente manera:
El dígito del extremo derecho se incrementa, en primer lugar mediante el uso 0
de9
0000000000> 9 iteraciones> 0000000009
y después de que a
a z
se utiliza:
000000000a> 25 iteraciones> 000000000z
Si z
necesita incrementarse, vuelve a cero y el dígito a su izquierda se incrementa:
000000010
Reglas adicionales:
- Puede usar letras mayúsculas o minúsculas.
- Es posible que no deje caer los ceros iniciales. Tanto la entrada como la salida son cadenas de longitud 10.
- No necesita manejar
zzzzzzzzzz
como entrada.
Casos de prueba:
"0000000000" -> "0000000001"
"0000000009" -> "000000000a"
"000000000z" -> "0000000010"
"123456zzzz" -> "1234570000"
"00codegolf" -> "00codegolg"
"0zzzzzzzzz"
(modificar el dígito más significativo) como un caso de prueba. Se tropezó con mi solución C debido a un error de uno por uno.