🎯 До ЕГЭ по информатике:
--дней
:
--часов
:
--минут
:
--секунд
Главная Шаблоны Задания Тренажёр Домашки Разборы
24

Обработка строк

Двойной цикл Кабанова — рабочий на всё. l+m оптимизация.

Python
s = open('24_28765.txt').readline()
m = 5  # максимум
for l in range(len(s)):
    for r in range(l + m, len(s)):
        c = s[l:r+1]
        if c.count('BC') > 180:  # меняем условие под задачу
            break
        else:
            m = max(m, len(c))
print(m)
Способ 2
# Способ 1 — счётчик
f = open('24.txt')
s = f.readline()
k = m = 0
for i in range(len(s)-1):
    if s[i] in 'ABC' and s[i+1] not in 'ABC':
        k += 1
        m = max(k, m)
    else:
        k = 0
print(m)

# Способ 2 — регулярки
from re import *
pattern = r'(?:[1-9][0-9]*|0)(?:[-*][0-9]+)*'
print(max(map(len, findall(pattern, s))))

📚 Теория

Обработка текстовых данных. Двойной цикл Кабанова — универсальный метод.