Однажды ковбой Джо нанялся в помощники шерифу. Шериф выдал ковбою Джо строку s и попросил собрать из её букв как можно больше слов sheriff. Каждая буква может использоваться не более одного раза.
Ковбой Джо тут же приступил к заданию шерифа, но к сожалению, он не умеет читать. Помогите ковбою Джо.
Формат входных данных
Дана строка
s (1<=s<=2*10^5) состоящая из маленьких букв латинского алфавита.
Формат выходных данных
Выведите максимальное количество слов sheriff, которое можно собрать из букв строки s.
решить задачу на языке Python
python
def countSheriff(s):
sCount = 0
hCount = 0
eCount = 0
rCount = 0
iCount = 0
fCount = 0
for letter in s:
if letter == "s":
sCount += 1
elif letter == "h":
hCount += 1
elif letter == "e":
eCount += 1
elif letter == "r":
rCount += 1
elif letter == "i":
iCount += 1
elif letter == "f":
fCount += 1
maxSheriff = min(sCount, hCount//2, eCount, rCount, iCount, fCount)
return maxSheriff
s = input()
result = countSheriff(s)
print(result)
В этом коде мы определили функцию `countSheriff`, которая принимает исходную строку s и подсчитывает количество букв каждого типа. Затем мы используем формулу, описанную выше, чтобы определить максимальное количество слов "sheriff".
Наконец, мы считываем строку s с помощью функции `input` и вызываем функцию `countSheriff` с этой строкой. Результат выводится с помощью функции `print`.
Таким образом, этот код позволяет решить данную задачу и вывести максимальное количество слов "sheriff", которое можно собрать из букв строки s.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет