কম্পিউটার

পাইথনে অন্য স্ট্রিং 2 জায়গায় ঘুরিয়ে একটি স্ট্রিং পাওয়া যায় কিনা তা পরীক্ষা করুন


ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে। বাম বা ডান যেকোন দিকে t দুই জায়গায় ঘোরার মাধ্যমে আমরা s পেতে পারি কিনা তা পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি s ="kolkata" t ="takolka" এর মত হয়, তাহলে আউটপুট হবে True কারণ আমরা "kolkata" পেতে দুইবার বাম দিকে "takolka" ঘুরাতে পারি।

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

  • যদি s-এর আকার t-এর আকারের সমান না হয়, তাহলে
    • মিথ্যে ফেরত দিন
  • right_rot :=ফাঁকা স্ট্রিং
  • left_rot :=ফাঁকা স্ট্রিং
  • l :=t এর আকার
  • left_rot :=left_rot concatenate t[index l - 2 থেকে end] concatenate t[সূচী 0 থেকে l - 3]
  • right_rot :=right_rot concatenate t[সূচী 2 থেকে শেষ পর্যন্ত] concatenate t[সূচী 0 থেকে 1]
  • সত্য প্রত্যাবর্তন করুন যখন (গুলি ডান_রটের মতো বা গুলি বাম_রটের মতো) অন্যথায় মিথ্যা

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

উদাহরণ

def solve(s, t):
   if (len(s) != len(t)):
      return False
   right_rot = ""
   left_rot = ""
   l = len(t)
   left_rot = (left_rot + t[l - 2:] + t[0: l - 2])
   right_rot = right_rot + t[2:] + t[0:2]
   return (s == right_rot or s == left_rot)
s = "kolkata"
t = "takolka"
print(solve(s, t))

ইনপুট

"kolkata", "takolka"

আউটপুট

True

  1. Python - একটি ভেরিয়েবল স্ট্রিং কিনা তা পরীক্ষা করুন

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

  3. পাইথনে একটি স্ট্রিং আলফানিউমেরিক কিনা তা কীভাবে পরীক্ষা করবেন?

  4. পাইথনের অন্য স্ট্রিংয়ে একটি সাবস্ট্রিং রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন