Dies ist eine ziemlich einfache Code-Golf-Herausforderung. Ihr Programm besteht bei einer ASCII-Zeichenfolge darin, diese Zeichenfolge in zwei Zeichenfolgen zu analysieren, die ausgewertet werden. Wenn die zweite Zeichenfolge "später" als die erste ist, gibt sie eine 1 zurück, wenn sie "früher" als die erste ist, gibt sie eine -1 zurück, und wenn sie gleich sind, gibt sie 0 zurück Um zu klären, was "später" und "früher" bedeuten, werfen wir einen Blick auf die ASCII-Zeichencodes. Sie müssen jedes Zeichen der Zeichenfolge vergleichen und jedes Zeichen als Ziffern einer Zahl behandeln. Später bezieht sich auf eine größere Zahl, die nach einer kleineren Zahl auftritt. Zeichenfolgen werden mit einem Bindestrich formatiert, um die beiden Eingabegruppen zu trennen.
Schauen Sie sich dieses Beispiel an:
7-9
als Eingabe sollte zurückkehren1
.
7
Konvertiert in ASCII-Code55
und9
konvertiert in ASCII-Code57
.Wie
57
numerisch danach auftritt55
,9
ist später als7
.
Ein anderes Beispiel:
LKzb-LKaj
als Eingabe sollte zurückkehren-1
Die ASCII-Codesequenzen hierfür sind
76-75-122-98
und76-75-97-106
Dies ist eine Code-Golf-Herausforderung, und bei der Anzahl der Bytes werden die Einträge bewertet.
Jede Eingabe von 95 druckbaren ASCII-Zeichen wird akzeptiert, ausgenommen Leerzeichen und Bindestriche, die die Eingabe nur trennen. Außerdem ist nicht garantiert, dass die Zeichenfolgen dieselbe Länge haben.
Viel Glück!
BEARBEITEN: Um klarer zu sein, muss jedes Zeichen wie eine Ziffer in einer Zahl behandelt werden. In dem Beispiel LKzb-LKaj
, wenn auch j
später als b
, z
später als a
, und da es sich um eine höherwertige Stelle ist, hat es Vorrang. Eine angegebene Zeichenfolge besteht immer aus mindestens 3 Zeichen, wodurch leere Zeichenfolgen aus dem Umfang dieses Problems ausgeschlossen werden.
EDIT: Hier sind einige weitere Testfälle für Ihre Hilfe:
A-9
->-1
11-Z
->-1
3h~J*-3h~J*
->0
Xv-Y0
->1
11-Z
-> -1
macht angesichts des aktuellen Wortlauts der Frage keinen Sinn. Z
(90) ist größer als 1
(49) und der bedeutendste Buchstabe. Bitte klären Sie, wie Saiten unterschiedlicher Länge verglichen werden.
11>Z
in Ihren Beispielen wann 1<Z
. Es muss ein undefiniertes Verhalten geben, das mit Zeichenfolgen unterschiedlicher Länge zu tun hat, sonst ist das Beispiel falsch.
~
bei 126 erhöhen und dann die nächste Ziffer um eins erhöhen und die ursprüngliche Ziffer auf zurückgeben !
. Jede Erhöhung der höchstwertigen Ziffer entspricht einer Erhöhung der zweitwichtigsten Ziffer um 127.