Программирование СТРОК с АР: Задание 24 с НУЛЯ: Уровень АД

Поделиться
HTML-код
  • Опубликовано: 6 фев 2025

Комментарии •

  • @inf_shkolkovo
    @inf_shkolkovo  2 года назад

    00:00:00 - Старт!
    00:01:27 - Презентация курса!
    00:05:12 - Задача 1: последовательность из пар разных элементов.
    00:28:23 - Задача 2: последовательность подряд идущих символов DSMREAIK.
    00:30:30 - Задача 3: последовательность не содержащая повторяющихся троек символов.
    00:43:30 - Задача 4: последовательность с чередованием символов гл-согл-гл-...
    00:54:40 - Задача 5: цифры от 1 до 9, знаки плюс-минус, знак равно. Вычислить выражение.
    01:01:49 - Задача 7: максимальная неубывающая последовательность по таблице ASCII.
    01:08:15 - Задача 8: максимальное кол-во палиндромов из семи символов.
    01:15:14 - Задача 9: заменить символы в строке, чтобы из символов получился палиндром.
    01:23:28 - Задача 10: расстояние между одинаковыми символами, не менее 150 символов Z.
    01:31:12 - Задача 11: кол-во пар соседних, стоящих как в алфавите.
    01:37:03 - Задача 12: правильная скобочная последовательность.

  • @ВасяВласов-в4э
    @ВасяВласов-в4э 2 года назад +3

    Решение 12 задания за один цикл:
    f = open('12.txt')
    s = f.readline()
    n = len(s)
    ans = 0
    p = 0
    k = 0
    for i in range(n):
    if s[i] == '(':
    p += 1
    k += 1
    elif s[i] == ')':
    p -= 1
    k += 1
    if p == 0:
    ans = max(ans, k)
    elif p < 0:
    k = 0
    print(ans)

  • @bounk
    @bounk 2 года назад +1

    я щас решаю 24 где есть файл с буквами и цифрами, и мне нужно найти максимальное число удовлетворяющее маске которое ограничено двумя парами символов ZZ по бокам 🥴

  • @ZanDatSu.
    @ZanDatSu. 2 года назад +3

    Другие способы решения некоторых заданий
    Решение 1 задачи в одну строчку
    print(max(2 * len(x) for x in open('1.txt').readline().replace('DDD', 'DD DD').replace('VVV', 'VV VV').replace('MMM', 'MM MM').replace('DD', '1').replace('VV', '2').replace('MM', '3').replace('V', ' ').replace('D', ' ').replace('M', ' ').replace('11', '1 1').replace('22', '2 2').replace('33', '3 3').split()))
    И в читаемом виде:
    s = open('1.txt').readline()
    s = s.replace('DDD', 'DD DD').replace('VVV', 'VV VV').replace('MMM', 'MM MM')
    s = s.replace('DD', '1').replace('VV', '2').replace('MM', '3').replace('V', ' ').replace('D', ' ').replace('M', ' ')
    s = s.replace('11', '1 1').replace('22', '2 2').replace('33', '3 3')
    print(max(2 * len(x) for x in s.split()))
    2.
    s = open('2.txt').readline()
    for x in 'QWTYUOPFGHJLZXCVBN':
    s = s.replace(x, ' ')
    print(max(len(x) for x in s.split()))
    3.
    s = open('3.txt').readline()
    k = m = 5
    for i in range(len(s) - 5):
    if s[i] + s[i+1] + s[i+2] != s[i+3] + s[i+4] + s[i+5]:
    k += 1
    m = max(m, k)
    else:
    k = 5
    print(m)
    4.
    s = open('4.txt').readline()
    for x in 'BCDFGHJKLMNPQRSTVWXZ':
    s = s.replace(x, '2')
    for x in 'AEIOUY':
    s = s.replace(x, '1')
    k = m = 1
    for i in range(len(s) - 1):
    if s[i] + s[i+1] == '12' or s[i] + s[i+1] == '21':
    k += 1
    m = max(m, k)
    else:
    k = 1
    print(m)
    5.
    s = open('5.txt').readline()
    summ = int(s[0])
    for i in range(1, len(s)-1, 2):
    if s[i] == '+':
    summ += int(s[i+1])
    else:
    summ -= int(s[i+1])
    print(summ)
    6.
    s = open('6.txt').readline()
    summ = int(s[0])
    for i in range(1, len(s), 2):
    summ += int(s[i])
    for i in range(2, len(s), 2):
    summ -= int(s[i])
    print(summ)
    7. (Почти такое же как у АР, но для полноты вставил)
    s = open('7.txt').readline()
    k = m = 1
    for i in range(len(s) - 1):
    if s[i] >= s[i + 1]:
    k += 1
    m = max(m, k)
    else:
    k = 1
    print(m)