На Python:
Робот учится петь. Пока это непростая для него задача, и не все слова получается пропеть красиво и внятно.
Роботу удобно петь слово, если в нём буквы, обозначающие согласные звуки, чередуются с буквами, обозначающими гласные.
Например, "лалала", "ахаха" и "бада бам" — это удобные строки, а "бам бам" и "тру ля ля" — нет.
Есть строка. Выведи минимальное количество букв, которые нужно заменить, чтобы роботу было удобно её пропеть. Обрати внимание — в строке может быть несколько слов, разделённых пробелами. Вся фраза целиком может оказаться неудобной для пения, несмотря на то, что каждое слово в отдельности — удобное.
Буквы, обозначающие гласные звуки: а, у, о, и, э, ы, я, ю, е, ё.
Ввод Вывод
тру ля ля 1
это она 3
мама мыла раму 0
Правильный ввод: 1 3 0
Ответы
Ответ:
На Python.
import re
def is_vowel(c):
vowels = 'ауоиэыяюеё'
return c.lower() in vowels
def count_replacements(s):
s = s.lower()
words = s.split()
replacements = 0
for word in words:
vowels = 0
consonants = 0
for i, c in enumerate(word):
if is_vowel(c):
vowels += 1
else:
sentants += 1
if i % 2 == 0:
if vowels != i // 2 + 1:
replacements += 1
else:
if sentants != i // 2 + 1:
replacements += 1
return replacements
s = 'тру ля ля'
print(count_replacements(s)) # Output: 1
s = 'это она'
print(count_replacements(s)) # Output: 3
s = 'мама мыла раму'
print(count_replacements(s)) # Output: 0