- 22, Oct 2024
- #1
Для тех, кто хочет большего, чем старый испанский алфавитный порядок, давайте посмотрим, как устроен венгерский алфавит.
а, а, б, в, кс, г, дз, дзс, е, е, е, г, гы, ч, и, ?, к, к, л, лы, м, н, нй, о, о, ö, ő, p, q, r, s, sz, t, ty, u, ú, ü, ű, v, w, x, y, z, zs
на самом деле,
,
ő
márvány
márványkő
márvány s?rkő
Márvány-tenger
márványtömb
, Eger
egér
?ró
iroda
irónia
kerek
kerék
kérek
szúr
szül
и u
не используются в венгерских словах, но включены в заимствованные слова и иностранные имена. Символы с иностранным акцентом, которые не являются частью венгерского алфавита (например, o
), have the same priority as the non-accented ones, but we disregard them for this challenge.
Краткое изложение правил:
- Диграфы (
ü
,ö
и т. д.) и триграф (ü - ű
) are considered as they were letters on their own.
u - ú
- Если один и тот же орграф или триграф встречается в слове дважды непосредственно друг за другом, они пишутся упрощенно:
ö - ő
instead ofo - ó
,i - ?
instead ofe -é
но для алфавитного порядка используется неупрощенный порядок. Напримерa - á
<jácint Jácint Zoltán zongora
<kasza kaszinó kassza kaszt nagy naggyá nagygyakorlat naggyal nagy?t
, becausea
используется какsz
+sz
+a
+k
+kassza
for the sake of ordering. Sometimes you can find the non-contracted version in a word, in case of compound words.
kassza
- заглавная буква не имеет значения, за исключением случаев, когда два слова были бы совершенно одинаковыми без заглавной буквы, и в этом случае строчная буква имеет приоритет.
kaszinó
- Краткие и длинные варианты ударных гласных имеют одинаковый приоритет (
kasza
,dzsdzs
,ddzs
,szsz
,ssz
,cudar cukor cuppant csalit csata
dzs
), with a single exception: if the two words would otherwise be exactly the same, the short vowel has priority over the long vowel. Note, that the vowels with umlaut (sz
иcs
) are completely different characters fromñ
andy
.
x
- Дефисы или пробелы (например, в составных словах, именах и т.п.) полностью игнорируются.
w
Задача
Ваша программа/функция получает строки, состоящие из символов венгерского алфавита (как нижнего, так и верхнего регистра), но строка может содержать пробелы или дефисы. Для простоты знак минус (ASCII 45) можно использовать в качестве дефиса. Обратите внимание, что некоторые символы (например, q
) are not part of ASCII. You can use any encoding you wish, if it supports all the required characters.
Вам необходимо правильно упорядочить строки и отобразить/вернуть результат.
Для тестирования вы можете использовать любое случайно упорядоченное подмножество приведенных выше примеров.
РЕДАКТИРОВАТЬ:
Пожалуйста, не используйте встроенные или другие средства, которые сами по себе знают венгерский алфавитный порядок. Это сделало бы соревнование бессмысленным и лишило бы всех задач поиска лучшего регулярного выражения или лучшего кода для игры в гольф.
РЕДАКТИРОВАТЬ2:
Чтобы прояснить уточнение, заданное isaacg: «две строки, которые различаются только заглавными буквами и длинными и короткими гласными, но различаются в обоих направлениях»: хотя в официальный документ явно отвечает на этот вопрос: пример, найденный внутри, указывает на то, что длина гласной имеет большее значение, чем капитализация.
#код-гольф #строка #сортировка