Это задание основано на тестовых курсах, которые я проходил в университете Аалто , и содержит контрольные примеры . Материал использован с разрешения.
Два с половиной года назад возникла проблема с ложками на английском языке . Однако в финских ложках гораздо сложнее.
Спунеризмы по-фински
По-фински гласные aeiouyäö
и согласные bcdfghjklmnpqrstvwxz
. ( å
технически является частью финского языка, но здесь не рассматривается.)
Самые простые ложные слова принимают только первый гласный каждого слова и любые согласные, предшествующие им, и обмениваются частями:
henri kontinen -> konri hentinen
tarja halonen -> harja talonen
frakki kontti -> kokki frantti
ovi kello -> kevi ollo
Длинные гласные
Некоторые слова содержат два одинаковых последовательных гласных. В этих случаях пара гласных должна быть заменена первой гласной другого слова, сокращающей или удлиняющей гласные, чтобы сохранить длину одинаковой.
haamu kontti -> koomu hantti
kisko kaappi -> kasko kiippi
В случае двух разных последовательных гласных это не распространяется:
hauva kontti -> kouva hantti
puoskari kontti -> kooskari puntti
Три или более одинаковых последовательных букв не будут отображаться на входе.
Гласная гармония
У финнов есть эта прекрасная вещь под названием гласная гармония . По сути, это означает, что задние aou
и передние гласные äöy
не должны встречаться в одном и том же слове.
Когда замена передних или задних гласных звуков в слове, все гласные другого рода в остальной части слова должны быть изменены в соответствии с новым начало слова ( a <-> ä
, o <-> ö
, u <-> y
):
köyhä kontti -> kouha köntti
hauva läähättää -> läyvä haahattaa
e
и i
являются нейтральными и могут появляться со всеми другими буквами; замена их на слово не должна вызывать изменений в остальной части слова.
Особые случаи
Гармония гласных не относится к некоторым словам, включая многие заимствованные слова и сложные слова. Эти случаи не обязательно должны обрабатываться «правильно».
Вызов
Учитывая два слова, выведите слова в ложку.
Входные слова будут содержать только символы a-z
и äö
. Вы можете использовать прописные или строчные буквы, но ваш выбор должен быть согласован как между словами, так и с вводом / выводом.
Ввод / вывод может быть выполнен в любом удобном формате . (Слова должны рассматриваться как строки или массивы символов.)
Это код-гольф , поэтому выигрывает самое короткое решение в байтах.
Контрольные примеры
U+0308 COMBINING DIAERESIS
должно обрабатываться U+00E4 LATIN SMALL LETTER A WITH DIAERESIS
очень хорошо.)
e
и i
являются нейтральными, являются fihus keksy
, huvu lehy
и lesmä prihti
приемлемые ответы на kehys fiksu
, levy huhu
и , prisma lehti
соответственно?