Задача на строки питон

Как известно, Винни-Пуха очень расстраивают длинные слова. У него есть одно такое слово и он очень хочет его сократить. Винни-Пух решил, что если он выбросит из слова все вхождения некоторой одной буквы, то смысл слова не очень изменится, но слово станет короче

Ваша задача — найти какое самое короткое слово сможет получить Винни-Пух. Если вариантов ответа несколько, то можно вывести любой.

Input

oboronosposobnost
brnspsbnst

Output

abbba
aa

я так понял можно использовать метод строки count и соответсвенно удалить, убрать.


Ответы (3 шт):

Автор решения: entithat

Посчитать вхождения для каждой буквы и удалить ту, которая больше всего места занимает.

s = 'oboronosposobnost'
s.replace(max([s.count(x), x] for x in s)[1], '')
→ Ссылка
Автор решения: Кирилл Малышев
s = 'oboronosposobnost'
s = s.replace(max(s, key=s.count), '')
print(s)
→ Ссылка
Автор решения: Stanislav Volodarskiy

Нужно найти самую популярную букву. collection.Counter(word) возвращает словарь с популярностью всех букв в слове. Извлекаем из него всё в виде пар. Пары переворачиваем вот так: (популярность, буква). Из таких пар можно выбрать максимальную. word.replace(буква, '') удаляет её. Работает за линейное время.

import collections


def help_bear(word):
    _, most_popular = max((n, c) for c, n in collections.Counter(word).items())
    return word.replace(most_popular, '')


print(help_bear('abca'))
print(help_bear('a' * 10000 + 'b' + 'a' * 10000))
→ Ссылка