Задание №24 — Обработка строк, нахождение подстроки
#69276Задание №24ФИПИ
Обработка символьных данных
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны.
Для выполнения этого задания следует написать программу.
Правильный ответ
35
Пояснение
Решение:
Условие «каждые два соседних символа различны» — локальное: серия обрывается ровно там, где встречаются два одинаковых символа подряд. Поэтому хватает одного прохода.
Храним длину текущей серии cur. Если очередной символ отличается от предыдущего, серия продолжается; если совпадает — начинаем новую серию с текущего символа (cur = 1).
s = open('52799_24.txt').read().strip()
mx = cur = 1
for i in range(1, len(s)):
if s[i] != s[i - 1]:
cur += 1
else:
cur = 1
if cur > mx:
mx = cur
print(mx)
Программа выводит 35 — это длина самого длинного «чередующегося» участка файла.
Ответ: 35