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

পাইথনে স্ট্রিংয়ের প্রিফিক্স ও সাফিক্স প্যালিনড্রোম কিনা

একটি স্ট্রিং s দেওয়া আছে। যাচাই করতে হবে যে এর কোনো প্রিফিক্স এবং কোনো সাফিক্স প্যালিনড্রোম কিনা (দৈর্ঘ্য ≥ ২)।

উদাহরণ

ইনপুট: s = "levelishighforracecar"

আউটপুট: True

ব্যাখ্যা: প্রিফিক্স "level", সাফিক্স "racecar" - দুটোই প্যালিনড্রোম।

অ্যালগরিদম

  1. প্রিফিক্স প্যালিনড্রোম খুঁজুন (দৈর্ঘ্য ২ থেকে শুরু)।
  2. সাফিক্স প্যালিনড্রোম খুঁজুন।
  3. দউভয় পাওয়া গেলে True।

উদাহরণ কোড

def is_palindrome(s):
    return s == s[::-1]

def solve(s):
    l = len(s)
    for i in range(2, l + 1):
        if is_palindrome(s[:i]):
            break
    else:
        return False
    for i in range(2, l + 1):
        if is_palindrome(s[l - i:]):
            return True
    return False

s = "levelishighforracecar"
print(solve(s))  # Output: True

ইনপুট

"levelishighforracecar"

আউটপুট

True
  1. পাইথনে সাবস্ট্রিং স্ট্রিংএ আছে কিনা যাচাই

  2. পাইথনে ভেরিয়েবল স্ট্রিং কিনা যাচাই করা

  3. পাইথনে স্ট্রিং অ্যালফানিউমেরিক কিনা যাচাই করা

  4. পাইথনে স্ট্রিং কোন সাফিক্স দিয়ে শেষ হয়েছে কিনা যাচাই করা