Кодинг-марафон. Задача № 7.
Фермеру нужна ваша помощь, чтобы узнать количество животных, спрятанных в заданной строке txt.
У нас есть список названий животных:
animals = ["dog", "cat", "bat", "cock", "cow", "pig", "fox", "ant", "bird", "lion", "wolf", "deer", "bear", "frog", "hen", "mole", "duck", "goat"]
Напишите функцию, которая будет принимать строку txt и возвращать максимальное количество названий животных, которые возможно собрать из символов строки.
txt = "goatcode" count_animals(txt) ➞ 2 # первое животное = "dog" # оставшиеся символы в строке = "atcoe", # второе животное = "cat". # count = 2 (верно) # если взять сперва "goat", # оставшиеся символы в строке = "code", # т.е. больше нельзя составить имен животных # count = 1 (неверно)
count_animals("goatcode") ➞ 2 # "dog", "cat" count_animals("cockdogwdufrbir") ➞ 4 # "cow", "duck", "frog", "bird" count_animals("dogdogdogdogdog") ➞ 5
animals = ["dog", "cat", "bat", "cock", "cow", "pig", "fox", "ant", "bird", "lion", "wolf", "deer", "bear", "frog", "hen", "mole", "duck", "goat"] def count_animals(txt): counts = [] def f(t, c): for a in animals: s = t for x in a: s = s.replace(x, "", 1) if len(s) + len(a) == len(t): f(s, c + 1) counts.append(c) f(txt, 0) return max(counts)
Pydantic - это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения…
Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…
В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…
В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…
При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…
В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…