কম্পিউটার টিউটোরিয়াল

পাইথন প্রোগ্রাম - ডিজিট পেয়ার এবং যেকোনো সংখ্যক ডিজিট ট্রিপলেট পাওয়া যায় কিনা তা যাচাই করুন

মনে করুন s নামে একটি 숫রিক স্ট্রিং আছে। আমাদের যাচাই করতে হবে কোনো ব্যবস্থা আছে কি যেখানে এক পেয়ার একই ক্যারেক্টার এবং বাকি স্ট্রিং যেকোনো সংখ্যক একই ক্যারেক্টারের ট্রিপলেট গঠন করে।

ইনপুট s = "21133123" হলে আউটপুট হবে True, কারণ দুটি ২ আছে "22" পেয়ার বানাতে এবং "111", "333" হিসেবে দুটি ট্রিপলেট।

সমাধানের ধাপসমূহ:

  • d := s-এ উপস্থিত প্রতিটি উপাদানের ফ্রিকোয়েন্সি ধারণকারী লিস্ট
  • d-এ প্রতিটি k-এর জন্য:
    • d[k] := d[k] - 2
    • যদি সব i-এর জন্য d[i] mod 3 == 0 হয়, তবে True ফেরত দিন
    • d[k] := d[k] + 2
  • False ফেরত দিন

উদাহরণ

বাস্তবায়ন:

from collections import Counter

def solve(s):
    d = Counter(s)
    for k in d:
        d[k] -= 2
        if all(d[i] % 3 == 0 for i in d):
            return True
        d[k] += 2
    return False

s = "21133123"
print(solve(s))

ইনপুট

"21133123"

আউটপুট

True
  1. পাইথনে দেয়া সংখ্যা নার্সিসিস্টিক নম্বর কিনা যাচাই করার প্রোগ্রাম

  2. পাইথনে যেকোনো সিটি থেকে যেকোনো সিটিতে যাওয়া সম্ভব কিনা যাচাই করার প্রোগ্রাম

  3. পাইথনে আযল নম্বর (Ugly Number) যাচাই করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম: কোনো সংখ্যা প্রাইম কিনা তা যাচাই করা