Тема 24. Обработка символьной информации

24.01 Поиск максимальной подстроки

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка символьной информации
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#58629

Текстовый файл 6.txt состоит не более чем из 106  заглавных латинских букв (A..Z). Файл разбит на строки различной длины.Необходимо найти строку, содержащую наибольшее количество букв O (если таких строк несколько, надо взять ту, которая в файле встретилась раньше). Определите, какая буква, стоящая после согласной, встречается в этой строке чаще всего после буквы O (то есть букву O не учитывать). Если таких букв несколько, надо взять ту, которая стоит раньше в алфавите. Запишите в ответе эту букву, а затем без пробелов и разделителей – сколько раз она встречается во всем файле.

Вложения к задаче
Показать ответ и решение
f = open(’C:/24_6.txt’)
a = f.readlines()

# Ищем строку с наибольшим кол-вом O
mx = ’’
for s in a:
    if s.count(’O’) > mx.count(’O’):
        mx = s

# Перебираем пары вида "согласная+буква",
# тем самым находим букву, которая находится чаще после согласной
sg = ’BCDFGHJKLMNPQRSTVWXZ’
# Букву O не рассматриваем по условию
abc = ’ABCDEFGHIJKLMNPQRSTUVWXYZ’

mxl = ’’ # Искомая буква
mxc = 0 # Переменная, с помощью которой отслеживаем макс. частоту
for l1 in abc:
    c = 0
    for l2 in sg:
        c += mx.count(l2+l1)
    if c > mxc:
        mxc = c
        mxl = l1

# Во втором выражении мы соединили массив a в одну строку с помощью функции join(),
# чтобы легко найти количество появлений нужной буквы
print(mxl, (’’.join(a)).count(mxl))

Ответ: L38356

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!