Questa è una sfida abbastanza semplice per giocare a golf. Il tuo programma, dato una stringa ASCII, è di analizzare quella stringa in due stringhe, che valuterà. Se la seconda stringa è "successiva" rispetto alla prima, restituirà un 1, se è "precedente" rispetto alla prima, restituirà un -1 e, se sono uguali, restituirà 0. A chiariamo cosa significano "più tardi" e "prima", diamo un'occhiata ai codici dei caratteri ASCII. Devi confrontare ogni carattere della stringa, trattandoli come cifre di un numero. Successivamente si riferisce a un numero più grande, che si verifica dopo un numero più piccolo. Le stringhe verranno formattate con un carattere trattino per separare i due gruppi di input.
Dai un'occhiata a questo esempio:
7-9
come input dovrebbe tornare1
.
7
converte in codice ASCII55
e9
converte in codice ASCII57
.Come
57
accade numericamente dopo55
,9
è più tardi di7
.
Un altro esempio:
LKzb-LKaj
come input dovrebbe tornare-1
Le sequenze di codice ASCII per questo sono
76-75-122-98
e76-75-97-106
Questa è una sfida di golf del codice e il conteggio dei byte è il modo in cui verranno segnate le voci.
È accettato qualsiasi input dai 95 caratteri ASCII stampabili, esclusi spazi e trattini per tutto tranne che separare l'input. Inoltre, non è garantito che le stringhe abbiano la stessa lunghezza.
In bocca al lupo!
EDIT: per essere più chiari, ogni personaggio deve essere trattato come una cifra in un numero. Nell'esempio LKzb-LKaj
, sebbene j
sia più tardi di b
, z
è più tardi di a
, e poiché è una cifra più significativa, ha la precedenza. Una stringa fornita avrà sempre almeno 3 caratteri, eliminando le stringhe vuote dall'ambito di questo problema.
EDIT: ecco alcuni altri casi di test, per il tuo aiuto:
A-9
->-1
11-Z
->-1
3h~J*-3h~J*
->0
Xv-Y0
->1
11-Z
-> -1
non ha senso data l'attuale formulazione della domanda. Z
(90) è maggiore di 1
(49) ed è la lettera più significativa. Si prega di chiarire come vengono confrontate stringhe di diverse lunghezze.
11>Z
nei tuoi esempi quando 1<Z
. Ci deve essere un comportamento indefinito da fare con stringhe di lunghezze diverse o l'esempio è sbagliato.
~
a 126, quindi aumenteresti la cifra successiva di una, riportando la cifra iniziale a !
. Ogni aumento della cifra più significativa equivale a incrementare la seconda cifra più significativa di 127.