Para aqueles que desejam muito mais desafio do que a antiga ordem alfabética espanhola , vamos dar uma olhada em como o alfabeto húngaro é ordenado.
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, v, w, x, y, z, zs
na verdade, q
, w
, x
e y
não são usados em palavras húngaras, mas eles são incluídos para loanwords e nomes estrangeiros. Caracteres com sotaque estrangeiro que não fazem parte do alfabeto húngaro (como ñ
), têm a mesma prioridade que os sem sotaque, mas os desconsideramos neste desafio.
As regras, resumidas:
- Dígrafos (
cs
,sz
, etc.) eo trigraph (dzs
) são considerados como eram letras por conta própria.
cudar cukor cuppant csalit csata
- Se o mesmo dígrafo ou trigrama ocorrer duas vezes diretamente um após o outro em uma palavra, eles serão escritos de uma maneira simplificada: em
ssz
vez deszsz
, emddzs
vez dedzsdzs
mas para a ordem alfabética, a ordem não simplificada é usada. Por exemplokasza
<kaszinó
<kassza
, porquekassza
é usado comok
+a
+sz
+sz
+a
por causa da ordenação. Às vezes, você pode encontrar a versão não contratada em uma palavra, no caso de palavras compostas.
kasza kaszinó kassza kaszt nagy naggyá nagygyakorlat naggyal nagyít
- letras maiúsculas não importa, com exceção das duas palavras exatamente iguais sem letras maiúsculas, caso em que a letra minúscula tem prioridade
jácint Jácint Zoltán zongora
- As versões curtas e longas de vogais acentuadas têm a mesma prioridade (
a - á
,e -é
,i - í
,o - ó
,ö - ő
,u - ú
ü - ű
), com uma única exceção: se as duas palavras de outra forma seria exatamente o mesmo, a vogal curta tem prioridade sobre a vogal longa. Observe que as vogais com trema (ö
eü
) são caracteres completamente diferentes deo
eu
.
Eger egér író iroda irónia kerek kerék kérek szúr szül
- Hífens ou espaços (por exemplo, em palavras compostas, nomes etc.) são completamente ignorados
márvány márványkő márvány sírkő Márvány-tenger márványtömb
A tarefa
Seu programa / função recebe seqüências de caracteres, compostas por caracteres do alfabeto húngaro (letras maiúsculas e minúsculas), mas uma sequência pode conter espaços ou hífens. Por uma questão de simplicidade, o sinal de menos (ASCII 45) pode ser usado como um hífen. Observe que alguns caracteres (como o ő
) não fazem parte do ASCII. Você pode usar qualquer codificação que desejar, se ela suportar todos os caracteres necessários.
Você precisa ordenar as linhas corretamente e exibir / retornar o resultado.
Você pode usar qualquer subconjunto ordenado aleatoriamente dos exemplos acima para teste.
EDITAR:
Por favor, não use nenhuma maneira interna ou de outra maneira que já conheça a ordem alfabética húngara por si só. Isso tornaria a competição inútil e levaria todo o desafio de encontrar a melhor expressão regular ou os melhores truques de golfe com código.
EDIT2:
Para esclarecer um esclarecimento solicitado por isaacg: "duas cadeias que diferem apenas em maiúsculas e vogais longas versus vogais curtas, mas diferem nos dois sentidos": Embora nenhuma regra no documento oficial lide explicitamente com essa questão, um exemplo encontrado dentro de pontos para o comprimento da vogal tendo mais importância que a capitalização.
malacsült
ou nyílászáró
. Pergunto-me se houver algum (mas você precisa de um vocabulário para verificar se que, o que não é, presumivelmente, parte deste desafio)