Top.Mail.Ru
Ответы

Задача на питоне

Есть последовательность символов, а за ней — число 0. Несколько одинаковых символов этой последовательности могут стоять подряд (а могут и нет).
Выведи эту же последовательность, но её одинаковые символы, стоящие подряд, собери в отдельной строке через пробел.

Ввод Вывод
1 1
2 2
3 3
0


a aa
b bbbb
b ccc
c
c
c
b
b
a
0

По дате
По рейтингу
Аватар пользователя
Ученик
1мес

sequence = []
while True:
char = input()
if char == '0':
break
sequence.append(char)

if sequence:
group = [sequence[0]]
for i in range(1, len(sequence)):
if sequence[i] == sequence[i-1]:
group.append(sequence[i])
else:
print(' '.join(group))
group = [sequence[i]]
print(' '.join(group))

Аватар пользователя
Знаток
1мес

from collections import OrderedDict
import sys

def group_chars():
counts = OrderedDict()
for line in sys.stdin:
s = line.strip()
if s == '0':
break
if s not in counts:
counts[s] = 0
counts[s] += 1

groups = [char * cnt for char, cnt in counts.items()]
print(*groups)

if __name__ == "__main__":
group_chars()