Escriba un programa o función que reciba como entrada una cadena que representa una palabra galesa (UTF-8 a menos que usted especifique lo contrario).
Las siguientes son todas letras individuales en galés:
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, th, u, w, y
Para citar Wikipedia ,
Si bien los dígrafos ch , dd , ff , ng , ll , ph , rh , th están escritos con dos símbolos, todos se consideran letras individuales. Esto significa, por ejemplo, que Llanelli (una ciudad en el sur de Gales) solo tiene seis letras en galés, en comparación con ocho letras en inglés.
Estas letras también existen en galés, aunque están restringidas al vocabulario técnico prestado de otros idiomas:
k, q, v, x, z
Las letras con signos diacríticos no se consideran letras separadas, pero su función debe aceptarlas y poder contarlas. Posibles tales letras son:
â, ê, î, ô, û, ŷ, ŵ, á, é, í, ó, ú, ý, ẃ, ä, ë, ï, ö, ü, ÿ, ẅ, à, è, ì, ò, ù, ẁ
(Esto significa que ASCII no es una codificación de entrada aceptable, ya que no puede codificar estos caracteres).
Notas:
- Este es el código de golf.
- No tiene que dar cuenta de palabras como llongyfarch , en las que ng no es un dígrafo, sino dos letras separadas. Esta palabra tiene nueve letras, pero puedes contarla erróneamente como ocho. (Si puede explicar esas palabras, es algo increíble, pero está fuera del alcance de este desafío).
- Se garantiza que la entrada no tendrá espacios en blanco (a menos que lo prefiera con una nueva línea final (o algo más esotérico), en cuyo caso puede proporcionarse). Ciertamente no habrá espacios en blanco internos.
Casos de prueba:
- Llandudno, 8
- Llanelli, 6
- Rhyl, 3
- Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch, 50 (realmente 51, pero contaremos 50)
- Tŷr, 3
- Cymru, 5
- Glyndŵr, 7