Pour ceux qui souhaitent beaucoup plus de défis que l' ancien ordre alphabétique espagnol , examinons comment l'ordre alphabétique hongrois est ordonné.
a, á, b, c, cs, d, dz, dzs, e, é, f, g, gy, h, i, í, j, k, l, ly, m, n, ny, o, ó, ö, ő, p, q, r, s, sz, t, ty, u, ú, ü, ű, v, w, x, y, z, zs
en fait, q
, w
, x
et y
ne sont pas utilisés dans les mots hongrois, mais ils sont inclus pour étrangers et des noms loanwords. Les caractères accentués étrangers qui ne font pas partie de l'alphabet hongrois (comme ñ
) ont la même priorité que les caractères non accentués, mais nous les ignorons pour ce défi.
Les règles, résumées:
- Digraphs (
cs
,sz
, etc.) et le trigramme (dzs
) sont considérés comme des lettres qu'ils étaient eux - mêmes.
cudar cukor cuppant csalit csata
- Si le même digraphe ou trigraphe apparaît deux fois directement l'un après l'autre dans un mot, ils sont écrits de manière simplifiée:
ssz
au lieu deszsz
,ddzs
au lieu dedzsdzs
mais pour l'ordre alphabétique, l'ordre non simplifié est utilisé. Par exemplekasza
<kaszinó
<kassza
, parce que l'kassza
on utilise commek
+a
+sz
+sz
+a
pour le bien de la commande. Parfois, vous pouvez trouver la version non contractuelle dans un mot, en cas de mots composés.
kasza kaszinó kassza kaszt nagy naggyá nagygyakorlat naggyal nagyít
- la majuscule n'a pas d'importance, à l'exception où les deux mots seraient exactement les mêmes sans majuscule, auquel cas la lettre minuscule a priorité
jácint Jácint Zoltán zongora
- Les versions courtes et longues voyelles accentuées ont la même priorité (
a - á
,e -é
,i - í
,o - ó
,ö - ő
,u - ú
ü - ű
), avec une seule exception: si les deux mots seraient autrement exactement la même chose, la voyelle courte a la priorité sur la voyelle longue. Notez que les voyelles avec tréma (ö
etü
) sont des caractères complètement différents deo
etu
.
Eger egér író iroda irónia kerek kerék kérek szúr szül
- Les tirets ou les espaces (par exemple, dans les mots composés, les noms, etc.) sont complètement ignorés
márvány márványkő márvány sírkő Márvány-tenger márványtömb
La tâche
Votre programme / fonction reçoit des chaînes, composées de caractères de l'alphabet hongrois (majuscules et minuscules), mais une chaîne peut contenir des espaces ou des tirets. Par souci de simplicité, le signe moins (ASCII 45) peut être utilisé comme trait d'union. Notez que certains caractères (comme le ő
) ne font pas partie de l'ASCII. Vous pouvez utiliser n'importe quel encodage que vous souhaitez, s'il prend en charge tous les caractères requis.
Vous devez ordonner les lignes correctement et afficher / retourner le résultat.
Vous pouvez utiliser n'importe quel sous-ensemble aléatoire des exemples ci-dessus pour les tests.
ÉDITER:
Veuillez ne pas utiliser de méthode intégrée ou autre qui connaît déjà l'ordre alphabétique hongrois par lui-même. Cela rendrait la compétition inutile et releverait tout le défi de trouver la meilleure expression régulière ou les meilleures astuces de golf de code.
EDIT2:
Pour clarifier une clarification demandée par isaacg: "deux chaînes qui ne diffèrent que par la majuscule et les voyelles longues par rapport aux voyelles courtes, mais qui diffèrent dans les deux sens": Bien qu'aucune règle dans le document officiel ne traite explicitement de cette question, un exemple trouvé à quelques points près de la longueur de la voyelle ayant plus d'importance que la capitalisation.
malacsült
ou nyílászáró
. Je me demande s'il y en a (mais vous auriez besoin d'un vocabulaire pour vérifier cela, ce qui ne fait probablement pas partie de ce défi)