Робот учится петь. Пока это непростая для него задача, и не все слова получается пропеть красиво и внятно.
Роботу удобно петь слово, если в нём буквы, обозначающие согласные звуки, чередуются с буквами, обозначающими гласные.
Например, "лалала", "ахаха" и "бада бам" — это удобные строки, а "бам бам" и "тру ля ля" — нет.
Есть строка. Выведи минимальное количество букв, которые нужно заменить, чтобы роботу было удобно её пропеть. Обрати внимание — в строке может быть несколько слов, разделённых пробелами. Вся фраза целиком может оказаться неудобной для пения, несмотря на то, что каждое слово в отдельности — удобное.
Буквы, обозначающие гласные звуки: а, у, о, и, э, ы, я, ю, е, ё.
Ввод Вывод
тру ля ля 1
это она 3
мама мыла раму 0
Ответ должен быть одним целым числом.
Answers & Comments
Ответ:
vowels = "ауоиэыяюеё"
string = input().lower()
prev_is_vowel = string[0] in vowels
replacements = 0
for letter in string[1:]:
if letter in vowels and prev_is_vowel:
replacements += 1
prev_is_vowel = False
elif letter not in vowels and not prev_is_vowel:
replacements += 1
prev_is_vowel = True
print(replacements)
python
Объяснение:
В этом решении мы сначала определяем все гласные звуки и получаем входную строку. Затем мы итерируемся по строке, подсчитывая количество замен, необходимых для получения чередующейся последовательности согласных и гласных букв. Если текущая буква - гласная, а предыдущая тоже была гласной, или текущая буква - согласная, а предыдущая тоже была согласной, то мы увеличиваем счетчик замен на 1 и обновляем значение prev_is_vowel (переменная, которая отслеживает, является ли предыдущая буква гласной или согласной).