Умение создавать собственные программы (10–20 строк) для обработки символьной информации · 10 заданий
- Задание №24№24
Текстовый файл состоит из заглавных букв латинского алфавита Q, R, W и цифр 1, 2, 4. Определите в прилагаемом файле максимальное количество идущих под…
Обработка символьных данных
- Задание №24№24
Текстовый файл состоит из символов A, C, D, F и O. Определите максимальное количество идущих подряд пар символов вида согласная + гласная в прилагаемо…
Обработка символьных данных
- Задание №24№24
Текстовый файл состоит из символов P, Q, R и S. Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет идущи…
Обработка символьных данных
- Задание №24№24
Текстовый файл состоит не более чем из 10⁶ символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых каждые два сосе…
Обработка символьных данных
- Задание №24№24
Текстовый файл состоит не более чем из 10⁶ символов X, Y и Z. Определите максимальное количество идущих подряд символов, символ Z встречается не более…
Обработка символьных данных
- Задание №24№24
Текстовый файл состоит не более чем из 10⁶ символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых нет символа Z.…
Обработка символьных данных
- Задание №24№24
Текстовый файл состоит не более чем из 10⁶ символов X, Y и Z. Определите максимальное количество идущих подряд символов, расположенных в обратном алфа…
Обработка символьных данных
- Задание №24№24
Текстовый файл состоит из символов T, U, V, W, X, Y и Z. Определите в прилагаемом файле максимальное количество идущих подряд символов (длину непрерыв…
Обработка символьных данных
- Задание №24№24
Текстовый файл состоит из заглавных букв латинского алфавита A, B, C, D, E и F. Определите в прилагаемом файле максимальное количество идущих подряд с…
Обработка символьных данных
- Задание №24№24
Задание выполняется с использованием прилагаемых файлов. Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита. Определите в…
Обработка символьных данных
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, расположенных в обратном алфавитном порядке (возможно, с повторением символов).
Для выполнения этого задания следует написать программу.
Правильный ответ
19
Пояснение
Решение:
Алфавитный порядок для наших символов — это X, Y, Z. Значит «обратный алфавитный порядок» означает, что каждый следующий символ не идёт в алфавите позже предыдущего: si≤si−1 (нестрогое неравенство, потому что повторы разрешены). Для символов это обычное сравнение строк в Python.
Достаточно одного прохода по файлу: храним длину текущей подходящей серии cur. Если очередной символ не больше предыдущего, серия продолжается (cur += 1), иначе серия обрывается и новая начинается с текущего символа (cur = 1). Максимум из всех значений cur и есть ответ.
s = open('44248_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)
Программа выводит 19: в файле есть 19 подряд идущих символов, образующих невозрастающую цепочку (например, несколько Z, затем несколько Y, затем несколько X), а 20 таких подряд нет.
Ответ: 19