🎉 बधाई! 🎉
आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।
ProgerLib सभी के लिए Python
चार दोस्त & mdash; रोमा (ITSHNIK), मैक्सिम (रसायनज्ञ), दानिक (डिज़ाइनर) और व्लाद (बहुमुखी व्यक्ति) & mdash; ने मीम्स के आदान-प्रदान के लिए एक सामान्य चैट बनाई। अनुपयुक्त चुटकुलों से एक-दूसरे का काम में ध्यान न भटकाने के लिए, उन्होंने एक बॉट लिखने का फैसला किया, जो स्वचालित रूप से मीम के विषय का निर्धारण करेगा और इसे केवल इच्छुक व्यक्ति को भेजेगा। आपका कार्य & mdash; इस बॉट के लिए एक कोर लिखना।
rn छँटाई नियम:
आपको इनपुट के रूप में एक पंक्ति मिलती है & mdash; यह मीम का टेक्स्ट है। बॉट को इसका विश्लेषण करना होगा और कुछ अक्षरों की उपलब्धता के आधार पर श्रेणी निर्धारित करनी होगी:
मुख्य नियम (विरोधों का समाधान):
मीम एक साथ कई श्रेणियों में फिट हो सकता है। इस मामले में, इसे उस व्यक्ति को भेजा जाना चाहिए जिसकी श्रेणी पहले "पूरी" हुई हो। श्रेणी को उस समय "पूर्ण" माना जाता है जब पंक्ति में उसके लिए आवश्यक अंतिम अक्षर मिल जाता है। बॉट को सबसे कम पूर्णता सूचकांक वाली श्रेणी चुननी होगी।
आपको एक प्रोग्राम लिखना होगा जो एक पंक्ति (मीम) स्वीकार करे और प्राप्तकर्ता का नाम प्रदर्शित करे।
एक पंक्ति, जो एक 'मीम' है (प्रकार: स्ट्रिंग)।
प्राप्तकर्ता का नाम (प्रकार: स्ट्रिंग)।
डूबे हुए आइटम
रोमा
from collections import Counter
def find_completion_index(meme, required_letters):
"""
Находит индекс, на котором категория считается "завершенной".
Возвращает индекс или очень большое число, если категория не подходит.
"""
# Создаем счетчик необходимых букв (например, для 'boom' -> {'b': 1, 'o': 2, 'm': 1})
required_counts = Counter(required_letters)
current_counts = Counter()
# Проверяем, выполнены ли все условия
def are_requirements_met():
for char, count in required_counts.items():
if current_counts[char] < count:
return False
return True
# Идем по строке и считаем буквы
for i, char in enumerate(meme):
if char in required_counts:
current_counts[char] += 1
# Как только все буквы найдены, возвращаем текущий индекс
if are_requirements_met():
return i
# Если цикл закончился, а буквы не найдены, возвращаем "бесконечность"
return float('inf')
# Получаем текст мема
meme_text = input()
# Создаем список кандидатов с их условиями
candidates = [
('Roma', 'bug'),
('Maxim', 'boom'),
('Danik', 'edits')
]
# Находим "индекс завершения" для каждого кандидата
results = []
for name, letters in candidates:
index = find_completion_index(meme_text, letters)
results.append((index, name))
# Находим победителя. Функция min() для кортежей (индекс, имя)
# автоматически выберет тот, у которого первый элемент (индекс) наименьший.
winner_index, winner_name = min(results)
# Если минимальный индекс остался "бесконечным", значит, никто не подошел
if winner_index == float('inf'):
print("Vlad")
else:
print(winner_name)
🎉 बधाई! 🎉
आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।
AD
विज्ञापन
कोड चल रहा है...