Текстовый файл состоит не более чем из \(10^6\) символов и содержит только буквы латинского алфавита. Текст разбит на строки различной длины. Для каждой строки нужно определить букву (или буквы), которая встречается в этой строке чаще всего после буквы \(X.\) Все эти буквы добавляются в новый список. Найдите букву, которая чаще всего встречается в построенном списке, и в качестве ответа укажите, сколько раз она там встретилась. Например, пусть файл содержит две строки:
XAXBXAXBCXX BXAXCXCXAXD
В первой строке чаще всего после буквы \(X\) встречаются буквы \(A\) и \(B\) (по \(2\) раза), а во второй строке – буквы \(A\) и \(C\) (по \(2\) раза). В итоге должен быть построен список \([A, \, B, \, A, \, C],\) в котором чаще всего \((2\) раза) встречается буква \(A.\) Ответ: \(2.\)
Решение:
Python
arr = []
for line in open('3785.txt'):
tmp = []
line = line.strip()
ls = len(line)
p = -1
while True:
p = line.find('X', p + 1)
if p == -1:
break
if p + 1 < ls:
tmp.append(line[p + 1])
d = {}
for c in tmp:
d[c] = d.get(c, 0) + 1
m = max(d.values())
arr += [x for x in d if d[x] == m]
d = {}
for c in arr:
d[c] = d.get(c, 0) + 1
print(max(d.values()))
Ответ: \(928\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене