Номер появления слова
Перед увеличением счётчика выводим прежнюю частоту.
Как к ней подойти
Потренируйтесь хранить пары «ключ - значение» и находить нужные записи в словаре.
Словарь связывает ключ со значением и позволяет быстро найти запись по ключу. Решите, что будет ключом, что значением и как обрабатывать отсутствующую запись. Для подсчётов удобно начинать с нуля.
Начальная частота нулевая; каждый обработанный экземпляр увеличивает её на один.
Проверьте перед запуском
- Текущее вхождение не должно попадать в выведенный счётчик.
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Словарь
Начальная частота нулевая; каждый обработанный экземпляр увеличивает её на один.
counts = {}
for word in input().split():
print(counts.get(word, 0), end=" ")
counts[word] = counts.get(word, 0) + 1
Время: O(n) в среднем. Память: O(n) включая токены.
Другой способ: Подсчёт в префиксе
Для каждого слова непосредственно считаем его вхождения среди предыдущих. Подходит для объяснения, но медленнее.
words = input().split()
for i, word in enumerate(words):
print(words[:i].count(word), end=" ")
Время: O(n²). Память: O(n).