Ctrl K

Ровные куски строки

Средняя
Назовём строку ровной, если каждая буква, которая в ней есть, встречается одинаковое число раз. Например, «abab» и «xyz» — ровные, а «aab» — нет. Строка из одной буквы (в том числе из повторов одной буквы) всегда ровная. Дана строка text. Разрежьте её на непрерывные куски так, чтобы каждый кусок был ровным. Верните наименьшее возможное число кусков.
Пример 1
text="aabbcab" → 2

Например, «aabb» + «cab»: в первом куске по две a и b, во втором по одной c, a и b. Целиком строка не подходит: a и b по три, а c одна.

Пример 2
text="xyzzyx" → 1

Каждая буква встречается ровно дважды — вся строка один кусок.

Пример 3
text="aab" → 2

Сама «aab» неровная, но «a» + «ab» подходит: два куска.

Ограничения
  • 1 ≤ len(text) ≤ 1000
  • text состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРастущая строка СредняяДлина разросшегося слова СложнаяУравнять частоты букв СложнаяРазбиение на слова из словаря СредняяПодсказка к угадыванию кода Средняя
загружаем Python…
Вход
text="aabbcab"
Ожидается
2

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