কম্পিউটার

পাইথনে ঘড়ির কাঁটার দিকে অক্ষর পরিবর্তন করে একটি স্ট্রিং চেক করার প্রোগ্রামটিকে অন্যটিতে রূপান্তর করা যেতে পারে


ধরুন আমাদের দুটি স্ট্রিং p এবং q আছে, এবং একটি সংখ্যা r আছে, আমাদের পরীক্ষা করতে হবে যে কিছু অক্ষর ঘড়ির কাঁটার দিকে নাড়াচাড়া করে p কে q তে রূপান্তর করা যায় কিনা। সুতরাং, উদাহরণ হিসাবে, 2টি ঘড়ির কাঁটার দিকে শিফট ব্যবহার করে "c" কে "e" তে পরিণত করা যেতে পারে।

সুতরাং, যদি ইনপুটটি p ="abc", q ="ccc", r =3 এর মত হয়, তাহলে আউটপুট হবে True, কারণ আমরা 2টি ঘড়ির কাঁটার দিকে শিফট ব্যবহার করে "a" কে "c" তে পরিণত করতে পারি এবং তারপরে রূপান্তর করতে পারি " মোট 3টি শিফটের জন্য 1 ঘড়ির কাঁটার শিফট ব্যবহার করে b" "c" তে পরিণত করুন।

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

  • যদি a এর আকার b এর আকারের সমান না হয়, তাহলে
    • মিথ্যে ফেরত দিন
  • যদি k 0 এর মত হয় এবং a b এর মত না হয়, তাহলে
    • মিথ্যে ফেরত দিন
  • su:=0
  • এর জন্য i রেঞ্জ 0 থেকে a এর আকার, করুন
    • v :=b[i] এর ASCII - a[i] এর ASCII
    • যদি v>=0, তাহলে
      • su :=su + v
    • অন্যথায়,
      • su :=su + v + 26
    • যদি su> k, তাহলে
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান

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

উদাহরণ

class Solution:
   def solve(self, a, b, k):
      if len(a) != len(b):
         return False
      if k == 0 and a != b:
         return False
         su=0
         for i in range(len(a)):
            v = ord(b[i])- ord(a[i])
            if v>=0:
               su+=v
            else:
               su+=v+26
            if su>k:
               return False
         return True
ob = Solution()
print(ob.solve("abc", "ccc", 3))

ইনপুট

"abc", "ccc", 3

আউটপুট

True

  1. স্ট্রিং চেক করার প্রোগ্রামে ধারাবাহিকভাবে ডিসেন্ডিং স্ট্রিং আছে বা পাইথনে নেই

  2. পাইথনে একটি স্ট্রিং 1-থেকে-1 ম্যাপ করা যায় কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. পাইথন প্রোগ্রাম একটি স্ট্রিং সব অনন্য অক্ষর আছে কিনা তা পরীক্ষা করতে

  4. পাইথনে একটি স্ট্রিংকে ফ্লোটে রূপান্তর করা যায় কিনা তা কীভাবে পরীক্ষা করবেন?