Desafio - Vogais Extraterrestres - 2-7 - Solução de Problemas com JavaScript

 

//### 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)
}
/*

faço trabalhos avulsos de programação em php , javascript , html , VBA-EXCEL e EXCEL formulas avançadas . pode entrar em contato no whatsapp 83988596239. nós combinaremos os valores de acordo com a demanda.

Nenhum comentário:

Postar um comentário

Programando com JS 2 / 5 - Resto 2

  Desafio Leia um valor inteiro N . Apresente todos os números entre 1 e 10000 que divididos por N dão resto igual a 2. Entrada A ...