//### Desafio - Vogais Extraterrestres |
Desde o Gerador de Improbabilidade Infinita, muitos nem questionam sobre vidas extraterrestres, e se aprofundam em questionamentos mais |
improváveis, como, por exemplo, será que seres de outros planetas usam os mesmos caracteres que nós para se comunicarem? E se isso for |
verdade, será que usam as mesmas letras vogais que a gente? Pensando nisso, vários cientistas criaram inúmeros tipos de alfabetos alienígenas, |
usando as letras do nosso alfabeto, além dos dígitos, de 0 a 9, com as suas respectivas vogais. Baseados nisto, eles querem a sua ajuda para |
identificar vogais em alfabetos alienígenas e realizar a contagem. |
Escreva um programa que, dado uma sequência de vogais, em um determinado alfabeto alienígena, contabilize, em um texto escrito com o mesmo |
alfabeto, quantas vogais o mesmo possui. |
//### Entrada |
Haverá diversos casos de teste. Cada caso de teste é formado por duas linhas. A primeira linha informa uma palavra, formada por todas as |
vogais alienígenas de um determinado planeta. A segunda linha contém uma frase formada por letras do mesmo alfabeto. A entrada termina com |
fim de arquivo. |
//### Saída |
Para cada caso de teste, imprima a quantidade de vogais alienígenas correspondente. |
|----------------------------------------------------------------| |
| Exemplo de Entrada | Exemplo de Saída | |
|---------------------------------------------|------------------| |
| aeiou | 16 | |
| o rato roeu a roupa do rei de roma | | |
|---------------------------------------------|------------------| |
| 4310 | 8 | |
| t3st3 p4r4 c0d1f1c4r | | |
|---------------------------------------------|------------------| |
| kwy | 3 | |
| the quick brown fox jumps over the lazy dog | | |
|----------------------------------------------------------------| |
*/ |
|
//Código do desafio: |
const inputs = [ //para uso local |
'aeiou', |
'o rato roeu a roupa do rei de roma', |
'4310', |
't3st3 p4r4 c0d1f1c4r', |
'kwy', |
'the quick brown fox jumps over the lazy dog', |
'' |
] //para uso local |
let i = 0 // para uso local |
|
let alienVowels = '' |
let sentence = '' |
const notInAlphabet = /[^A-Za-z0-9 ]/g |
|
while (true) { |
// alienVowels = gets() //para uso na DIO |
alienVowels = inputs[i++] //para uso local |
|
if (!alienVowels || alienVowels === '') break; |
|
alienVowels = alienVowels.replace(/ /g, '') |
|
// sentence = gets() //para uso na DIO |
sentence = inputs[i++] //para uso local |
|
if (notInAlphabet.test(alienVowels) || notInAlphabet.test(sentence)) continue; |
|
console.log(count(alienVowels, sentence)) |
} |
|
function count(substr, str) { |
return substr.split('').reduce((acc, character) => { |
acc += (str || '').match(new RegExp(`${character}`, 'g'))?.length || 0 |
return acc |
}, 0) |
/* |
Nenhum comentário:
Postar um comentário