Мини-урок · перед практикой
Удаление фрагмента
Оставляем префикс до первого h и суффикс после последнего h.
Как к ней подойти
Потренируйтесь находить нужные символы и фрагменты строки, не теряя границы срезов.
Коротко о теме
У строки есть индексы, срезы и методы поиска. Индексация начинается с нуля, правая граница среза не включается. Перед сборкой ответа проверьте, что произойдёт, если искомый фрагмент отсутствует.
Ключевая идея · Поиск границ и срезы
Самим буквам h тоже не место в результате; поэтому суффикс начинается с right + 1.
Проверьте перед запуском
- Граница правого среза должна исключать последнее h.
После практики
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Поиск границ и срезы
Самим буквам h тоже не место в результате; поэтому суффикс начинается с right + 1.
s = input()
left, right = s.find('h'), s.rfind('h')
print(s[:left] + s[right + 1:])
Время: O(L). Память: O(L).
Другой способ: Разделение с двух сторон
Первое разделение выделяет часть до первого h, правое — часть после последнего.
s = input()
print(s.split('h', 1)[0] + s.rsplit('h', 1)[1])
Время: O(L). Память: O(L).