Criando uma língua construída com preguiça
Você está criando uma língua construída chamada Eadibitan. Mas tem preguiça demais para criar sua própria fonologia, gramática e ortografia. Então decidiu automatizar o processo.
Escreva uma função que traduza uma palavra do inglês para Eadibitan.
As sílabas do inglês devem ser analisadas de acordo com as seguintes regras:
- As sílabas seguirão o padrão (C)(C)V(V(V))(C), em que C é uma consoante e V é uma vogal. Os parênteses indicam que um elemento é opcional.
- O padrão CVCV será analisado como CV-CV.
- O padrão CVCCV será analisado como CVC-CV
- O padrão CVCCCV será analisado como CVC-CCV
- Duas ou três vogais consecutivas sempre formarão um ditongo e um tritongo, respectivamente. Isso significa que serão agrupadas na mesma sílaba.
- A letra
ydeve ser analisada como consoante quando for seguida por uma vogal e como vogal caso contrário.
A ordem das letras de cada sílaba deve ser alterada de acordo com a tabela a seguir:
| Inglês | Eadibitan |
|---|---|
| c1 v1 | v1 c1 |
| c1 v1 v2 | v1 c1 v2 |
| c1 v1 v2 v3 | v1 c1 v2 v3 |
| c1 v1 c2 | v1 c1 c2 |
| c1 v1 v2 c2 | v1 c1 v2 c2 |
| c1 v1 v2 v3 c2 | v1 c1 v2 v3 c2 |
| c1 c2 v1 | c2 v1 c1 |
| c1 c2 v1 v2 | c2 v1 c1 v2 |
| c1 c2 v1 v2 v3 | c2 v1 c1 v2 v3 |
| c1 c2 v1 c3 | c2 v1 c1 c3 |
| c1 c2 v1 v2 c3 | c2 v1 c1 v2 c3 |
| c1 c2 v1 v2 v3 c3 | c2 v1 c1 v2 v3 c3 |
Qualquer outro padrão deve ser deixado inalterado.
Exemplos
eadibitan("edabitian") ➞ "eadibitan"
eadibitan("star") ➞ "tasr"
eadibitan("beautiful") ➞ "ebauitufl"
eadibitan("statistically") ➞ "tasitsitaclyl"Observações
- Você pode esperar apenas argumentos que sejam palavras isoladas, em minúsculas.
ÓbvioBônus: Tente resolvê-lo usando RegEx.