R. RLE

RLE означает “run-length encoding”. Это способ сокращённой записи последовательности чего угодно (в случае этой задачи — цифр). При нём для подряд идущей группы одинаковых цифр (run) записываются сама эта цифра и длина этой группы (run length). Таким образом, 99999 превратится в 9 5 («девять пять раз») и так далее. RLE широко используется в самых разных областях. Напишите программу, которая кодирует строку цифр в RLE.

Формат ввода

Строка цифр длиной не меньше 1.

Формат вывода:

Пары: сама цифра и количество повторений цифры подряд во введённой строке, как описано в условии и показано в примере.

Пример

Ввод

010000100001111111110111110000000000000011111111

Вывод

0 1
1 1
0 4
1 1
0 4
1 9
0 1
1 5
0 14
1 8

Ввод

0110000000100001000

Вывод

0 1
1 2
0 7
1 1
0 4
1 1
0 3

Решение

Очень простая задача.

Сравниваем текущий символ с предыдущим. Если они отличаются – выводим символ и его счетчик. Если нет, продолжаем увеличивать счетчик.

Посмотреть код

Решение

Python
string = input()

current_char = string[0]
current_length = 1

for char in string[1:]:
    if current_char == char:
        current_length += 1
    else:
        print(current_char, current_length)
        current_char = char
        current_length = 1

print(current_char, current_length)
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии