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-9come input dovrebbe tornare1.
7converte in codice ASCII55e9converte in codice ASCII57.Come
57accade numericamente dopo55,9è più tardi di7.
Un altro esempio:
LKzb-LKajcome input dovrebbe tornare-1Le sequenze di codice ASCII per questo sono
76-75-122-98e76-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 jsia 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->-111-Z->-13h~J*-3h~J*->0Xv-Y0->1
11-Z-> -1non 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>Znei 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.