Per coloro che desiderano molte più sfide rispetto al vecchio ordine alfabetico spagnolo , diamo un'occhiata a come viene ordinato l'alfabeto ungherese.
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
in realtà, q
, w
, x
e y
non sono utilizzati in parole ungheresi, ma sono inclusi per prestiti linguistici e nomi stranieri. I personaggi accentati stranieri che non fanno parte dell'alfabeto ungherese (come ñ
), hanno la stessa priorità di quelli non accentati, ma li ignoriamo per questa sfida.
Le regole, riassunte:
- Digrammi (
cs
,sz
, ecc) e il trigramma (dzs
) sono considerati come se fossero lettere per conto proprio.
cudar cukor cuppant csalit csata
- Se lo stesso digrafo o trigrafo si verifica due volte direttamente uno dopo l'altro in una parola, vengono scritti in modo semplificato:
ssz
invece diszsz
,ddzs
invecedzsdzs
che per l'ordine alfabetico, viene utilizzato l'ordine non semplificato. Ad esempiokasza
<kaszinó
<kassza
, poichékassza
viene utilizzato comek
+a
+sz
+sz
+a
per motivi di ordine. A volte puoi trovare la versione non contratta in una parola, nel caso di parole composte.
kasza kaszinó kassza kaszt nagy naggyá nagygyakorlat naggyal nagyít
- le maiuscole non contano, con l'eccezione quando le due parole sarebbero esattamente le stesse senza maiuscole, nel qual caso la lettera minuscola ha la priorità
jácint Jácint Zoltán zongora
- Le versioni corte e lunghe di vocali accentate hanno la stessa priorità (
a - á
,e -é
,i - í
,o - ó
,ö - ő
,u - ú
ü - ű
), con una sola eccezione: se le due parole sarebbero altrimenti esattamente lo stesso, la vocale corta ha priorità sulla vocale lunga. Nota che le vocali con umlaut (ö
eü
) sono caratteri completamente diversi dao
eu
.
Eger egér író iroda irónia kerek kerék kérek szúr szül
- I trattini o gli spazi (ad esempio, in parole composte, nomi, ecc.) Sono completamente ignorati
márvány márványkő márvány sírkő Márvány-tenger márványtömb
L'obiettivo
Il tuo programma / funzione riceve stringhe, composte da caratteri dell'alfabeto ungherese (sia minuscole che maiuscole), ma una stringa può contenere spazi o trattini. Per semplicità, il segno meno (ASCII 45) può essere usato come un trattino. Nota che alcuni caratteri (come il ő
) non fanno parte di ASCII. È possibile utilizzare qualsiasi codifica desiderata, se supporta tutti i caratteri richiesti.
Devi ordinare le linee correttamente e visualizzare / restituire il risultato.
Per il test è possibile utilizzare qualsiasi sottoinsieme ordinato in modo casuale degli esempi precedenti.
MODIFICARE:
Si prega di non utilizzare alcun modo incorporato o altro che conosca già l'ordine alfabetico ungherese da solo. Renderebbe inutile la competizione e prenderebbe tutta la sfida di trovare la migliore espressione regolare o i migliori trucchi per giocare a golf.
EDIT2:
Per chiarire un chiarimento chiesto da isaacg: "due stringhe che differiscono solo per capitalizzazione e vocali lunghe e corte, ma differisce in entrambi i modi": Sebbene nessuna regola nel documento ufficiale affronti esplicitamente questa domanda, un esempio trovato all'interno di punti alla lunghezza della vocale che ha più importanza della capitalizzazione.
malacsült
o nyílászáró
. Mi chiedo se ce ne siano (ma avresti bisogno di un vocabolario per verificarlo, che presumibilmente non fa parte di questa sfida)