Задача к ЕГЭ по информатике на тему «поиск максимальной подстроки» №1

Текстовый файл 1.txt содержит строку из заглавных латинских букв A,B и С, всего не более чем из 106  символов. Определите максимальное количество идущих подряд троек символов BBC или AAC.

f = open(’24.txt’)
s = f.readline()

#Заменяем BBC и AAC на *
s = s.replace(’BBC’,’*’).replace(’AAC’,’*’)

#Запускаем цикл,который проверяет есть ли в строке i подряд идущих троек
for i in range(len(s)):
    if ’*’*i in s:
        print(i)

Другое решение

file = open(’24.txt’)
s = file.read()
max_counter = 0
temp_counter = 0
for start_step in range(3):
    for index in range(start_step, len(s) - len(s) % 3 - 2, 3):
        if s[index:index + 3] == "BBC" or s[index:index + 3] == "AAC":
            temp_counter += 1
            max_counter = max(max_counter, temp_counter)
        else:
            temp_counter = 0
print(max_counter)

Ответ: 4
Оцените статью
Я решу все!