Menu
CoddyTech

String Compression

Дана строка s, состоящая из английских букв. Сожми её: каждую последовательность из двух или более одинаковых подряд идущих букв замени этой буквой, за которой следует длина последовательности, а отдельную букву оставь без изменений. Например, aabccc превращается в a2bc3. Верни сжатую строку.

Заглавные и строчные буквы считаются разными: aA — это две последовательности длиной 1.

Функция

compress(s: string) → string
sstring
строка для сжатия, только английские буквы
Возвращаетstring
сжатая строка, каждый повтор записывается как буква и её количество, если количество больше 1

Ограничения

  • 1 ≤ s.length ≤ 2 × 104
  • s содержит только английские буквы: от a до z и от A до Z.
  • Длина серии записывается в десятичной системе и может состоять из нескольких цифр.

Примеры

Ввод
s = "aabccc"
Вывод
"a2bc3"
Пояснение
Группы — это aa, b и ccc. Они преобразуются в a2, b (одиночная буква не получает счётчик) и c3.
challenge icon

Дополнительный вопрос

Запишите обратное: имея сжатую строку, например ab12, восстановите исходную. Как прочитать количество, состоящее из нескольких цифр?

Сбросить код
def compress(s):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргумент

s = "aabccc"

Ожидаемый вывод

"a2bc3"