Напишіть програму або функцію, яка отримує у якості введення рядок, що представляє валлійське слово (UTF-8, якщо інше не вказано вами).
Нижче наведено всі одиничні букви валійською мовою:
a, b, c, ch, d, dd, e, f, ff, g, ng, h, i, j, l, ll, m, n, o, p, ph, r, rh, s, t, го, ю, ш, у
Щоб цитувати Вікіпедію ,
У той час, як диграфи ch , dd , ff , ng , ll , ph , rh , th написані двома символами, всі вони вважаються єдиними літерами. Це означає, що, наприклад, Лланеллі (місто в Південному Уельсі) вважається лише шістьма літерами у валійській мові, порівняно з вісьмома літерами англійською мовою.
Ці листи також є у валлійській мові, хоча вони обмежені технічною лексикою, запозиченою з інших мов:
k, q, v, x, z
Листи з діакритикою не розглядаються як окремі букви, але ваша функція повинна їх приймати і вміти їх рахувати. Можливі такі листи:
â, ê, î, ô, û, ŷ, ŵ, á, é, í, ó, ú, ý, ẃ, ä, ë, ï, ö, ü, ÿ, ẅ, à, è, ì, ò, ù, ẁ
(Це означає, що ASCII не є прийнятним кодуванням вводу, оскільки він не може кодувати ці символи.)
Примітки:
- Це код гольфу.
- Вам не доведеться рахувати такі слова, як llongyfarch , у яких ng - це не диграф, а дві окремі літери. Це слово має дев'ять букв, але ви можете неправильно рахувати його як вісім. (Якщо ви можете пояснити такі слова, це дивним чином, але поза сферою цього виклику.)
- Гарантовано, що на вході не буде пробілів (якщо ви не віддасте перевагу одному осередковому рядку (або щось більш езотеричне), у цьому випадку це може бути надано). Звичайно, не буде внутрішнього простору.
Тестові приклади:
- Лладудно, 8
- Лланеллі, 6
- Ріл, 3
- Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch, 50 (дійсно 51, але ми порахуємо 50)
- Тŷр, 3
- Кімру, 5
- Гліндр, 7