Реализовать функцию, считающую количество повторений каждого символа

Посчитайте частоты символов в словаре, сохраняя порядок первого появления, затем объедините пары «символ + количество». Для 'abbc' получится 'a1b2c1'.

Короткий ответ

Что ответить на собеседовании

Посчитайте частоты символов в словаре, сохраняя порядок первого появления, затем объедините пары «символ + количество». Для 'abbc' получится 'a1b2c1'.

Подробный разбор

Ответ с пояснениями

Условие

Создайте функцию, принимающую строку и возвращающую новую строку, где каждый уникальный символ сопровождается числом, указывающим, сколько раз он встречается в исходном тексте. Пример: 'abbc' -> 'a1b2c1'.

Ответ

Посчитайте частоты символов в словаре, сохраняя порядок первого появления, затем объедините пары «символ + количество». Для 'abbc' получится 'a1b2c1'.

Реализация:

def encode_counts(text):
    counts = {}
    for char in text:
        counts[char] = counts.get(char, 0) + 1
    return ''.join(f'{char}{count}' for char, count in counts.items())

Это подсчёт всех вхождений, не кодирование последовательных серий: 'abac' даст 'a2b1c1'. Регистр, пробелы и пунктуация учитываются как обычные символы. Формат без разделителей неоднозначен для обратного декодирования, если исходный текст содержит цифры, но задача восстановления исходной строки здесь не ставится.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее