Рядки і символи

  • Python

Дико соромно, але я просто встав в глухий кут.
Проходжу курс Stepic по Python. І ось уже 5-ий день б'юся над цим завданням. Десятки варіантів перепробував. А не виходить. А далі йти не можу за курсом, не хочу невирішену залишати позаду.

Ось, власне, завдання:
Дізнавшись, що ДНК не є випадковою рядком, тільки що надійшли до Інституту біоінформатики студенти групи інформатиків запропонували використовувати алгоритм стиснення, який стискає повторювані символи в рядку.

Кодування здійснюється наступним чином:

s = 'aaaabbсaa' перетворюється в 'a4b2с1a2', тобто групи однакових символів початкового рядка замінюються на цей символ і кількість його повторень в цій позиції рядка.

Напишіть програму, яка зчитує рядок, кодує її запропонованим алгоритмом і виводить закодовану послідовність на стандартний висновок.

Sample Input 1:
aaaabbcaa
Sample Output 1:
a4b2c1a2

Sample Input 2:
abc
Sample Output 2:
a1b1c1

А ось на даний момент більш-менш моє рішення. Знаю, що треба порівнювати з наступним елементом рядка, але все перерив, немає нічого подібного, на мою самодіяльність PyCharm дає помилки. Погляньте і просто підкажіть будь ласка, готове рішення не обов'язково.


Виводить ось це: a1a1a1a1b1b1с1a1a1

Схожі статті