কম্পিউটার

পাইথনে কোনো অক্ষরের ফ্রিকোয়েন্সি স্ট্রিংয়ের দৈর্ঘ্যের অর্ধেকের বেশি কিনা তা পরীক্ষা করুন


ধরুন আমাদের কাছে ছোট হাতের, বড় হাতের, সংখ্যাসূচক এবং বিশেষ অক্ষর সহ একটি স্ট্রিং আছে। আমাদের পরীক্ষা করতে হবে যে কোনো একটি অক্ষরের ফ্রিকোয়েন্সি স্ট্রিং-এর দৈর্ঘ্যের অর্ধেকের বেশি কি না।

সুতরাং, যদি ইনপুটটি s ="CC*Ca5&CC" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ 'C'-এর ফ্রিকোয়েন্সি 5 এবং স্ট্রিংয়ের দৈর্ঘ্য 9। (5> 9/2)।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • freq :=s অক্ষরের ফ্রিকোয়েন্সি সম্বলিত একটি মানচিত্র
  • প্রতিটি ch এর জন্য freq, do
    • যদি ch এর ফ্রিকোয়েন্সি> (s/2 এর মাপ), তারপর
      • সত্য ফেরান
  • মিথ্যে ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ কোড

from collections import defaultdict
   
def solve(s):
   freq = defaultdict(int)
 
   for ch in s:
      freq[ch] += 1
 
   for ch in freq:
      if freq[ch] > len(s) // 2:
         return True
 
   return False
   
s = "CC*Ca5&CC"
print(solve(s))

ইনপুট

"CC*Ca5&CC"

আউটপুট

True

  1. প্রদত্ত স্ট্রিং প্যানগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  2. একটি স্ট্রিং একটি অক্ষর পাইথনে একটি অক্ষর কিনা তা কিভাবে পরীক্ষা করবেন?

  3. পাইথন স্ট্রিং এর সর্বোচ্চ দৈর্ঘ্য কত?

  4. কিভাবে পাইথনে একটি স্ট্রিং দৈর্ঘ্য পেতে?