Para aquellos que desean muchos más desafíos que el antiguo orden alfabético español , echemos un vistazo a cómo se ordena el alfabeto húngaro.
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 realidad, q
, w
, x
y y
no se utilizan en las palabras de Hungría, pero se incluyen para préstamos y nombres extranjeros. Los caracteres acentuados extranjeros que no forman parte del alfabeto húngaro (como ñ
) tienen la misma prioridad que los no acentuados, pero los ignoramos para este desafío.
Las reglas, resumidas:
- Dígrafos (
cs
,sz
, etc.) y el trigraph (dzs
) se consideran como estaban las letras por su cuenta.
cudar cukor cuppant csalit csata
- Si el mismo dígrafo o trigrafo se produce dos veces directamente uno detrás del otro en una palabra, se escriben de manera simplificada: en
ssz
lugar deszsz
, enddzs
lugar dedzsdzs
pero para el orden alfabético, se usa el orden no simplificado. Por ejemplokasza
<kaszinó
<kassza
, porquekassza
se utiliza comok
+a
+sz
+sz
+a
por el bien de pedido. A veces puede encontrar la versión no contratada en una palabra, en caso de palabras compuestas.
kasza kaszinó kassza kaszt nagy naggyá nagygyakorlat naggyal nagyít
- las mayúsculas no importan, con la excepción de que las dos palabras serían exactamente iguales sin mayúsculas, en cuyo caso la letra minúscula tiene prioridad
jácint Jácint Zoltán zongora
- Las versiones corta y larga de vocales acentuadas tienen la misma prioridad (
a - á
,e -é
,i - í
,o - ó
,ö - ő
,u - ú
ü - ű
), con una sola excepción: si las dos palabras de otro modo sería exactamente el mismo, la vocal corta tiene prioridad sobre la vocal larga. Tenga en cuenta que las vocales con diéresis (ö
yü
) son caracteres completamente diferentes deo
yu
.
Eger egér író iroda irónia kerek kerék kérek szúr szül
- Los guiones o espacios (por ejemplo, en palabras compuestas, nombres, etc.) se ignoran por completo
márvány márványkő márvány sírkő Márvány-tenger márványtömb
La tarea
Su programa / función recibe cadenas, compuestas de caracteres del alfabeto húngaro (minúsculas y mayúsculas), pero una cadena puede contener espacios o guiones. Por simplicidad, el signo menos (ASCII 45) puede usarse como un guión. Tenga en cuenta que algunos caracteres (como el ő
) no son parte de ASCII. Puede usar cualquier codificación que desee, si es compatible con todos los caracteres requeridos.
Debe ordenar las líneas correctamente y mostrar / devolver el resultado.
Puede usar cualquier subconjunto ordenado al azar de los ejemplos anteriores para realizar pruebas.
EDITAR:
Por favor, no utilice ninguna forma integrada u otra que ya conozca el orden alfabético húngaro por sí mismo. Haría que la competencia no tuviera sentido y tomaría todo el desafío de encontrar la mejor expresión regular o los mejores trucos de golf de código.
EDIT2:
Para aclarar una aclaración solicitada por isaacg: "dos cadenas que solo difieren en mayúsculas y vocales largas vs. cortas, pero que difieren en ambos sentidos": aunque ninguna regla en el documento oficial aborda explícitamente esta pregunta, un ejemplo encontrado dentro de los puntos de la longitud de la vocal que tiene más importancia que la capitalización.
malacsült
o nyílászáró
. Me pregunto si hay alguno (pero necesitarías un vocabulario para comprobarlo, lo que presumiblemente no forma parte de este desafío)