Написать класс Spiral, экземпляр которого образуется из строки, содержащей одну или несколько последовательностей одинаковых символов, например, "122333444455555". При преобразовании в строку такая последовательность должна «закручиваться в спираль» против часовой стрелки(см. пример). Помимо преобразования в строку объект типа Spiral должен:
- Поддерживать сложение с таким же объектом: существующие в исходном объекте последовательности увеличиваются на соответствующее количество символов, новые — добавляются в конец
Поддерживать вычитание объектов типа Spiral, при этом существующие последовательности уменьшаются в длине (до полного исчезновения, если в вычитаемом было больше таких символов)
Поддерживать умножение на натуральное число N (количество символов в последовательностях увеличивается в N раз)
- Поддерживать итератор по всем символам последовательности
Подсказка: при решении задачи мне очень пригодился collections.Counter
dccc d b d ab d eeeee ihg f ccbb e c b e c aa e d e ddddee eddd e c e bc e dccb d b e aa i e i ffgghh hhgg i f i af a a b b b c c c c d d d d d e e e e e e f g h i