Форум » Обработка символьных строк » Тема 24 задача 5041 » Ответить

Тема 24 задача 5041

ganilova: Текстовый файл 24-197.txt содержит строку из заглавных латинских букв X, Y и Z, всего не более чем из 106 символов. Определите максимальное количество идущих подряд троек символов X*Y или Z*Y, где * обозначает один любой символ. У меня получается 19, в ответе 20. Решала двумя способами. Что не так? [pre2] s = open('5041.txt').readline() s = s.replace('XXY', 'B').replace('XYY', 'B').replace('XZY', 'B') s = s.replace('ZYY', 'B').replace('ZXY', 'B').replace('ZZY', 'B') s = s.replace('X', ' ').replace('Y', ' ').replace('Z', ' ').split() print(len(max(s))) ''' k = 0 m = 0 i = 0 while i < len(s)-1: if s[ i]=='X' and s[i+2]=='Y' or s[ i]=='Z' and s[i+2]=='Y': k += 1 i += 3 m = max(m, k) else: k = 0 i += 1 print(m) ''' [/pre2]

Ответов - 1

Поляков: Здесь обсуждалась эта задача.



полная версия страницы