Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита. Определите в прилагаемом файле минимальное количество идущих подряд символов, среди которых буква Z встречается ровно 72 раза, гласная буква встречается ровно один раз, искомая последовательность заканчивается на эту единственную гласную букву.
В ответе запишите число — количество символов в найденной последовательности.
Для выполнения этого задания следует написать программу.
Примечание: A, E, I, O, U, Y — гласные буквы латинского алфавита.
Приведём решение на языке Python.
f = open('24.txt')
s = f.readline()
s = s[::-1]#будем искать последовательности начинающиеся на гласную
for i in 'EIOUY':
s = s.replace(i, 'A')
s = s.replace('A', '*A')
s = s.split('*')
otv = []
for i in s:
if i.count('Z') >= 72:
srez = i.replace('Z', '*', 71)
otv.append(len(i[:srez.index('Z') + 1]))
print(min(otv))
Ответ: 134.
Приведём решение Юрия Красильникова на языке Python.
import re
s=open('24.txt').readline()[::-1]
a=[x.replace('Z','X',71) for x in re.findall(r'[AEIOUY][^AEIOUY]*',s) if x.count('Z')>71]
print(min([x.find('Z')+1 for x in a]))

