RLE
Написать программу на языке python, собдюдающие данные условия;
RLE означает “run-length encoding” — это способ сокращённой записи последовательности чего угодно (в случае этой задачи — цифр), при котором для подряд идущих группы одинаковых цифр (run) записываются длина этой группы (run length) и сама эта цифра. Таким образом, “99999” превратится в “5 9” («пять девяток»), и так далее. RLE широко используется в самых разных областях.
Напишите программу, которая кодирует строку цифр в RLE.
Формат ввода
Строка цифр длиной не меньше 1.
Формат вывода
Пары: количество повторений цифры подряд в введённой строке и сама цифра, как описано в условии и показано в примере.
Пример
Ввод Вывод
010000100001111111110111110000000000000011111111
1 0
1 1
4 0
1 1
4 0
9 1
1 0
5 1
14 0
8 1
maksbudylin644:
ща
Ответы
Ответ дал:
3
Проходим по строке, запоминая текущий символ и сколько раз он уже повторился. Если следующий символ такой же, то просто увеличиваем длину серии на 1, если нет - выводим информацию про серию и начинаем новую. Надо не забыть корректно обработать последний символ - после него серия также заканчивается.
Код (Python 3):
s = input()
current_digit, count = None, 0
for digit in s:
if current_digit != digit:
if count > 0:
print(count, current_digit)
current_digit, count = digit, 1
else:
count += 1
print(count, current_digit)
Вас заинтересует
2 года назад
2 года назад
2 года назад
7 лет назад
7 лет назад