Задание №24 — Обработка строк, нахождение подстроки
#69678Задание №24ФИПИ
Обработка символьных данных
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых нет символа Z.
Для выполнения этого задания следует написать программу.
Правильный ответ
34
Пояснение
Решение:
Нужен самый длинный участок, целиком состоящий из символов X и Y. Символы Z разрезают файл на такие участки, поэтому достаточно найти длину самого длинного «куска» между соседними Z.
Проход по файлу: счётчик cur увеличиваем на каждом символе, отличном от Z, и обнуляем на каждом Z; ответ — максимум счётчика.
s = open('44249_24.txt').read().strip()
mx = cur = 0
for c in s:
if c != 'Z':
cur += 1
if cur > mx:
mx = cur
else:
cur = 0
print(mx)
То же самое в одну строку через разбиение строки: print(max(len(p) for p in s.split('Z'))).
Программа выводит 34.
Ответ: 34