Пример 1
Текстовый файл состоит из символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны.
Например, в строке XYZZXYX самая длинная такая цепочка — ZXYX, её длина 4.
Показать решение
1. Идём по строке один раз и держим длину текущей цепочки.
2. Если символ отличается от предыдущего — цепочка продолжается, иначе начинается заново с текущего символа.
s = open('24.txt').readline().strip() # вся строка из файла без перевода строки
best = cur = 1 # длина лучшей и текущей цепочки (один символ — уже цепочка)
for i in range(1, len(s)): # идём по строке со второго символа
if s[i] != s[i - 1]: # соседние различны
cur += 1 # цепочка продолжается
best = max(best, cur) # запоминаем рекорд
else: # два одинаковых подряд
cur = 1 # новая цепочка начинается с текущего символа
print(best) # ответДля примера XYZZXYX программа выведет 4. Ответ для файла с экзамена зависит от файла.
