Questa è una versione di golf del codice di una domanda simile che ho posto in precedenza sullo stack ma ho pensato che sarebbe stato un puzzle interessante.
Data una stringa di lunghezza 10 che rappresenta un numero di base 36, incrementalo di uno e restituisci la stringa risultante.
Ciò significa che le stringhe conterranno solo cifre da 0
a 9
e lettere da a
a z
.
Base 36 funziona come segue:
La cifra più a destra viene incrementata, prima usando 0
to9
0000000000> 9 iterazioni> 0000000009
e dopo che a
a z
viene utilizzato:
000000000a> 25 iterazioni> 000000000z
Se z
deve essere incrementato, ritorna a zero e la cifra alla sua sinistra viene incrementata:
000000010
Ulteriori regole:
- È possibile utilizzare lettere maiuscole o minuscole.
- Si può non far cadere gli zeri iniziali. Sia l'input che l'output sono stringhe di lunghezza 10.
- Non è necessario gestirlo
zzzzzzzzzz
come input.
Casi test:
"0000000000" -> "0000000001"
"0000000009" -> "000000000a"
"000000000z" -> "0000000010"
"123456zzzz" -> "1234570000"
"00codegolf" -> "00codegolg"
"0zzzzzzzzz"
(modificare la cifra più significativa) come caso di test. Ha scatenato la mia soluzione C a causa di un errore off-by-one-one.