Проблема возникнет, когда размеры теста станут действительно большими. Строка sf станет настолько большой, что вы получите ошибку памяти. Сложная часть проблемы состоит в том, чтобы выяснить, как ее решить, не создавая длинную строку.
Ваш подход с оставшейся частью хорош. Может быть, найти, сколько букв в одной последовательности, а затем умножить на количество повторов? Тогда вам остается разобраться с оставшейся частью. Вам нужно будет выяснить, сколько букв «а» находится в первых «остатках» строки.