Für diejenigen, die eine viel größere Herausforderung als die alte spanische alphabetische Reihenfolge wünschen , werfen wir einen Blick auf die Reihenfolge des ungarischen Alphabets.
a, á, b, c, cs, d, dz, dzs, e, é, f, g, gy, h, ich, í, j, k, l, ly, m, n, ny, o, ó, ö, ő, p, q, r, s, sz, t, ty, u, ú, ü, ű, v, w, x, y, z, zs
tatsächlich, q
, w
, x
und y
sind nicht in der ungarischen Worte verwendet, aber sie sind für Lehnwörter und ausländische Namen enthalten. Ausländische Zeichen mit Akzent, die nicht Teil des ungarischen Alphabets sind (wie ñ
), haben die gleiche Priorität wie die nicht akzentuierten, aber wir ignorieren sie für diese Herausforderung.
Die Regeln, zusammengefasst:
- Digraphen (
cs
,sz
usw.) und Trigraphen (dzs
) werden als eigenständige Buchstaben betrachtet.
cudar cukor cuppant csalit csata
- Wenn die gleiche digraph oder trigraph hintereinander in einem Wort zweimal direkt auftritt, werden sie in einer vereinfachten Art und Weise geschrieben:
ssz
stattszsz
,ddzs
stattdzsdzs
aber für die alphabetische Reihenfolge wird die nicht vereinfachte verwendet. Zum Beispielkasza
<kaszinó
<kassza
, dakassza
wird verwendet alsk
+a
+sz
+sz
+a
zum Zweck der Bestellung. Manchmal finden Sie die nicht vertraglich vereinbarte Version in einem Wort, wenn es sich um zusammengesetzte Wörter handelt.
kasza kaszinó kassza kaszt nagy naggyá nagygyakorlat naggyal nagyít
- Die Groß- und Kleinschreibung spielt keine Rolle, mit der Ausnahme, dass die beiden Wörter ohne die Groß- und Kleinschreibung genau gleich wären. In diesem Fall hat der Kleinbuchstabe Vorrang
jácint Jácint Zoltán zongora
- Die kurzen und langen Versionen von akzentuierten Vokale haben die gleiche Priorität (
a - á
,e -é
,i - í
,o - ó
,ö - ő
,u - ú
ü - ű
), mit einer einzigen Ausnahme: Wenn die beiden Wörter sonst genau das gleiche sein würde, hat der kurze Vokal Vorrang vor dem langen Vokal. Beachten Sie, dass die Vokale mit Umlaut (ö
undü
) völlig andere Zeichen also
und sindu
.
Eger egér író iroda irónia kerek kerék kérek szúr szül
- Bindestriche oder Leerzeichen (z. B. in zusammengesetzten Wörtern, Namen usw.) werden vollständig ignoriert
márvány márványkő márvány sírkő Márvány-tenger márványtömb
Die Aufgabe
Ihr Programm / Ihre Funktion empfängt Zeichenfolgen, die aus Zeichen des ungarischen Alphabets bestehen (sowohl in Klein- als auch in Großbuchstaben). Eine Zeichenfolge kann jedoch Leerzeichen oder Bindestriche enthalten. Das Minuszeichen (ASCII 45) kann der Einfachheit halber als Bindestrich verwendet werden. Beachten Sie, dass einige Zeichen (wie das ő
) nicht Teil von ASCII sind. Sie können eine beliebige Codierung verwenden, wenn alle erforderlichen Zeichen unterstützt werden.
Sie müssen die Zeilen richtig bestellen und das Ergebnis anzeigen / zurückgeben.
Sie können jede zufällig angeordnete Teilmenge der obigen Beispiele zum Testen verwenden.
BEARBEITEN:
Bitte verwenden Sie keine eingebaute oder andere Methode, die die ungarische alphabetische Reihenfolge bereits kennt. Dies würde den Wettbewerb unnötig machen und die Herausforderung darin bestehen, den besten regulären Ausdruck oder die besten Code-Golf-Tricks zu finden.
EDIT2:
Um eine Klärung klar gestellt von isaacg: „zwei Strings , die nur durch Aktivierung abweichen und lange gegen kurze Vokale, unterscheidet sich aber in beide Richtungen“: Obwohl keine Regel in dem amtlichen Dokument ausdrücklich diese Frage befasst, ein Beispiel innerhalb Punkte der Länge gefunden des Vokals hat mehr Bedeutung als die Großschreibung.
malacsült
oder besteht nyílászáró
. Ich frage mich, ob es welche gibt (aber du brauchst ein Vokabular, um das zu überprüfen, was vermutlich nicht Teil dieser Herausforderung ist)