Задача к ЕГЭ по информатике на тему «поиск символа/строки по частоте» №1

Задание выполняется с использованием прилагаемых файлов

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

Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.

f = open(’Задание_24__i0id.txt’)
alp = ’QWERTYUIOPASDFGHJKLZXCVBNM’
b = [0]*26
array = f.readlines()
maxim = 0
for x in range(len(array)):
    s = array[x]
    counter = 1
    for i in range(len(s)-1):
        if s[i] == s[i+1]:
            counter += 1
            if counter > maxim:
                maxim = counter
                ind = x
        else:
            counter = 1
s = array[ind]
for i in range(len(s)):
    for j in range(26):
        if s[i] == alp[j]:
            b[j] += 1
file = ’’.join(array)
for j in range(26):
    if b[j] == min(b):
        letter = alp[j]
print(letter, file.count(letter))

Ответ: Z 36493
Оцените статью
Я решу все!