0
0 комментариев

https://stepik.org/lesson/Base-RLE-encode-21299/step/2?adaptive=true&unit=5100

На вход алгоритму подаётся строка, содержащая символы латинского алфавита. Эта строка разбивается на группы одинаковых символов, идущих подряд («серии»). Каждая серия характеризуется повторяющимся символом и количеством повторений. Именно эта информация и записывается в код: сначала пишется длина серии повторяющихся символов, затем сам символ. У серий длиной в один символ количество повторений будем опускать.

Например, рассмотрим строку

aaabccccCCaB

Разобъём её на серии

aaa b cccc CC a B

После чего закодируем серии и получим итоговую строку, которую и будем считать результатом работы алгоритма.

3ab4c2CaB

Формат ввода:
Одна строка, содержащая произвольные символы латинского алфавита.

Формат вывода:
Строка, содержащая закодированную последовательность.

Sample Input 1:
aaabccccCCaB
Sample Output 1:
3ab4c2CaB

Вот такая задача. Сейчас код в ужасном состоянии, так как ставил-убирал костыли, ибо не могу понять, в чем ошибка. Я уже самым банальным образом явно указал про длину строки ввода и удалил единицы.

vvod = 'aaabccccCCaB' #input()
if len(vvod) > 1:
    count = 1
    prev = ''
    lst = []
    for i in vvod:
        if i != prev:
            if prev:
                entry = ''
                entry = str(count) + prev
                lst.append(entry)
            count = 1
            prev = i
        else:
                count += 1
    else:
        entry = str(count) + i
        lst.append(entry)
    edinici = ''.join(lst)
    x = ''
    for i in edinici:
        if i != '1':
            x = x + i
    print(x)
else:
    print(vvod)

Очень прошу помочь с задачей, и я, пожалуй, поищу другой задачник.

Не проходит тесты на сайте. Четких объяснений нет, выдает Wrong answer. Интерпретатор выводит все верно—я вводил Sample input из задачи и произвольные строки сам писал.

Failed test #6. Wrong answer


Добавить комментарий