Кодирование повторов

средне
# решено

Дан массив chars и нужно реализовать алгоритм сжатия строки по следующим правилам:

  • Подряд идущие одинаковые символы группируются.
  • Группа включает в себя всегда максимально возможное число одинаковых подряд идущих символов.
  • Если в группе только одна буква, то пишется только она.
  • Если в группе более одной буквы, то пишется сначала буква, а потом число раз, которое она встретилась.
  • Если буква встретилась более 9 раз, то каждый символ количества должен быть записан отдельно.

Пример 1:

Ввод: chars = ["x","x","y","z","z","z"]
Вывод: ["x","2","y","z","3"]

Пример 2:

Ввод: chars = ["y","y","x","x","x","x","x","x","x","x","x","x","x","x","y","y"]
Вывод: ["y","2","x","1","2","y","2"]

Пример 3:

Ввод: chars = ["a","b","c"]
Вывод: ["a","b","c"]

Ограничения:

  • 0 <= len(chars)
  • Массив chars может содержать только английские буквы.