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

পাইথনে যাচাই করুন কোনো স্ট্রিং এর অ্যানাগ্রাম প্যালিনড্রোম কিনা

ধরুন, আমাদের একটি স্ট্রিং s দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে এই স্ট্রিং এর কোনো অ্যানাগ্রাম (অক্ষর পরিবর্তন করে বানানো শব্দ) প্যালিনড্রোম বানায় কিনা।

যেমন, ইনপুট s = "aarcrec" হলে আউটপুট হবে True, কারণ এর একটি অ্যানাগ্রাম হলো "racecar" যা প্যালিনড্রোম।

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

  • প্রতিটি ক্যারেক্টারের ফ্রিকোয়েন্সি (ব 어쩌면) গণনা করুন একটি ম্যাপে।
  • odd_count = 0 রাখুন।
  • ফ্রিকোয়েন্সি মানগুলোতে লুপ চালান:
    • যদি ফ্রিকোয়েন্সি বিজোড় হয়, তবে odd_count বাড়ান।
  • যদি odd_count > 1 হয়, তবে False ফেরত দিন (কারণ প্যালিনড্রোমে শুধু একটি বিজোড় ফ্রিকোয়েন্সি থাকতে পারে)।
  • অন্যথায় True ফেরত দিন।

উদাহরণ কোড

from collections import defaultdict

def solve(s):
    freq = defaultdict(int)
    for char in s:
        freq[char] += 1
    odd_count = 0
    for f in freq.values():
        if f % 2 == 1:
            odd_count += 1
    if odd_count > 1:
        return False
    return True

s = "aarcrec"
print(solve(s))

ইনপুট

"aarcrec"

আউটপুট

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

  2. পাইথনে প্যালিনড্রোম স্ট্রিং চেক করা

  3. পাইথনে বাক্য প্যাংগ্রাম (pangram) কিনা যাচাই করার প্রোগ্রাম

  4. Python-এ স্ট্রিং প্যালিনড্রোম (Palindrome) কিনা চেক করা