Мини-урок · перед практикой
Удалить каждый третий символ
Удаляем индексы 0, 3, 6 и так далее.
Как к ней подойти
Потренируйтесь находить нужные символы и фрагменты строки, не теряя границы срезов.
Коротко о теме
У строки есть индексы, срезы и методы поиска. Индексация начинается с нуля, правая граница среза не включается. Перед сборкой ответа проверьте, что произойдёт, если искомый фрагмент отсутствует.
Ключевая идея · Фильтрация по индексу
Остаток от деления индекса определяет, нужно ли сохранять символ.
Проверьте перед запуском
- Нумерация начинается с 0: самый первый символ удаляется.
После практики
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Фильтрация по индексу
Остаток от деления индекса определяет, нужно ли сохранять символ.
s = input()
print(''.join(c for i, c in enumerate(s) if i % 3 != 0))
Время: O(L). Память: O(L).
Другой способ: Сборка блоков по два символа
В каждой тройке пропускаем первый символ и берём следующие два; короткий последний срез безопасен.
s = input()
print(''.join(s[i + 1:i + 3] for i in range(0, len(s), 3)))
Время: O(L). Память: O(L).