Задача понятна: дана строка с именами через запятую и пробел, нужно удалить имя передумававшего и выдать список оставшихся имен в том же порядке.
Пошаговый разбор
- Разделяем первую строку на отдельные имена. Поскольку между именами стоит запятая и пробел, удобно использовать разделение по запятой и затем убрать лишние пробелы вокруг каждого имени.
- Вторая строка — имя, которое следует удалить. Точно приводим её к виду имен в списке (обрезаем пробелы).
- Удаляем это имя из списка, сохраняя порядок оставшихся имен.
- Выводим результат как список строк в формате Python (это совпадает с примером вывода: ['Петров Пётр', 'Сонина Софья']).
Временная сложность: O(n), где n — число имен в списке. Потребления памяти: O(n) на сам список.
Пример кода на Python 3 (без использования внешних библиотек):
line1 = input().strip()
line2 = input().strip()
Разделяем имена и очищаем пробелы вокруг каждого имени
names = [n.strip() for n in line1.split(",")]
withdrawn = line2.strip()
Удаляем передумавшего, если он есть в списке
if withdrawn in names:
names.remove(withdrawn)
print(names)
Применение к заданному примеру
Ввод:
Петров Пётр, Александрова Александра, Сонина Софья
Александрова Александра
После обработки код выведет:
['Петров Пётр', 'Сонина Софья']
Если у вас есть другая задача с аналогичным форматом входа, можно просто вставить другие строки вместо двух input() и получить нужный результат тем же способом.