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
Решение
Очень простая задача.
Сравниваем текущий символ с предыдущим. Если они отличаются – выводим символ и его счетчик. Если нет, продолжаем увеличивать счетчик.
Посмотреть код
Решение
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)