Обработка символьных строк: поиск подстроки по условию
Задание 24 · Билет 2 · ЕГЭ по информатике
Условие
В текстовом файле записана строка из заглавных латинских букв A, B, C и D. Определите максимальную длину подстроки, в которой нет двух одинаковых подряд идущих символов.
Скачивать не обязательно: если решаете на сайте, строка уже есть в песочнице. Скачайте, только чтобы посмотреть файл отдельно на компьютере.
Попробуйте программой
Необязательно, но удобно: напишите здесь свой код на Python, который найдёт ответ. Если не получится — откройте решение и вставьте готовую программу одной кнопкой.
Решите программой на Python
в браузереНапишите свой код, который найдёт ответ, и нажмите «Выполнить». Горячая клавиша запуска: Ctrl/⌘ + Enter.
Файл задачи уже в песочнице: task24-2-stroka.txt — читайте через open('task24-2-stroka.txt').
Потренируйся обрабатывать строки: разбери проход по шагам, а затем напиши программу, которая найдёт длину подстроки по условию.
Решение
Решение
открыто шагов: 4 из 4Программа, которая находит ответ:
s = open('task24-2-stroka.txt').read().strip() # читаем строку из файла
best = 1 # длина лучшей подстроки
cur = 1 # длина текущей подстроки
for i in range(1, len(s)):
if s[i] != s[i - 1]: # соседние буквы разные — подстрока продолжается
cur += 1
else: # буквы совпали — начинаем заново
cur = 1
if cur > best:
best = cur
print(best) # выводим ответ Теория и другие билеты
Разбор с нуля, типовые ошибки, частые вопросы и все билеты задания 24 — на странице задания.