Ctrl K

Куски из одной буквы

Средняя
Дана строка text. Кусок строки — это непрерывный отрезок подряд идущих символов. Кусок однороден, если все его символы одинаковы. Посчитайте, сколько однородных кусков в text. Куски на разных позициях считаются разными, даже если совпадают по содержимому. Ответ может быть большим, верните его по модулю 10⁹ + 7.
Пример 1
text='zzzyz' → 8

Из блока «zzz» получается 3 куска «z», 2 куска «zz» и 1 кусок «zzz» — всего 6. Ещё 1 кусок «y» и 1 кусок «z» в конце. Ответ 8.

Пример 2
text='abc' → 3

Однобуквенными являются только три отдельные буквы.

Пример 3
text='qqqq' → 10

Любой кусок строки однороден: 4 + 3 + 2 + 1 = 10.

Ограничения
  • 1 ≤ len(text) ≤ 10⁵
  • text состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЧисло римскими цифрами СредняяУмножение длинных чисел в строках СредняяЗапись дроби десятичной СредняяКалькулятор на четыре действия СредняяВсе результаты расстановки скобок Средняя
загружаем Python…
Вход
text='zzzyz'
Ожидается
8

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 83 теста на сервере, включая скрытые.