Back to questions
Senior
5
Алгоритмическая задача: подсчитать количество строк в массиве, где гласных больше чем согласных.
Companies where asked
Zuru Tech
Answer from AI
sobes.tech AI
Для решения задачи подсчёта количества строк, в которых гласных больше, чем согласных, можно пройти по массиву строк и для каждой строки подсчитать количество гласных и согласных.
Пример на Node.js:
function countStringsWithMoreVowels(arr) {
const vowels = new Set(['а','е','ё','и','о','у','ы','э','ю','я',
'А','Е','Ё','И','О','У','Ы','Э','Ю','Я']);
let count = 0;
for (const str of arr) {
let vowelsCount = 0;
let consonantsCount = 0;
for (const char of str) {
if (/[а-яА-Я]/.test(char)) { // Проверяем, что символ - буква русского алфавита
if (vowels.has(char)) {
vowelsCount++;
} else {
consonantsCount++;
}
}
}
if (vowelsCount > consonantsCount) {
count++;
}
}
return count;
}
// Пример использования:
const arr = ["привет", "мир", "океан", "яблоко"];
console.log(countStringsWithMoreVowels(arr)); // Выведет количество строк с большим числом гласных
В этом коде:
- Используется множество гласных для быстрого поиска.
- Для каждой строки считаем гласные и согласные, учитывая только русские буквы.
- Если гласных больше, увеличиваем счётчик.
- Возвращаем итоговое количество таких строк.