কম্পিউটার

পাইথনে একটি প্রদত্ত সাব-স্ট্রিং পুনরাবৃত্তভাবে মুছে দিয়ে একটি স্ট্রিং খালি হতে পারে কিনা তা পরীক্ষা করুন


ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে। আমরা s থেকে যেকোনবার t মুছে ফেলতে পারি। এবং টি একবারে একবার প্রদর্শিত হয়। যতবার প্রয়োজন ততবার টি সরিয়ে s খালি হতে পারে কিনা তা আমাদের পরীক্ষা করতে হবে৷

সুতরাং, যদি ইনপুটটি s ="pipipinnn" t ="pin" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ আমরা "pipipinnn" থেকে "pin" মুছে ফেলতে পারি, তারপর আমরা "pipinn" পাব, আবার "pin" সরিয়ে ফেলব। স্ট্রিং "পিন" পান, তারপর এটি খালি করতে এটি সরান৷

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

  • যখন s> 0 এর মাপ, do
    • অবস্থান :=s-এ t-এর শুরুর সূচক
    • যদি অবস্থান s-এ না হয়, তাহলে
      • লুপ থেকে বেরিয়ে আসুন
    • s :=একবার s থেকে t সরান
  • সত্যে প্রত্যাবর্তন করুন যখন s এর আকার 0 এর মত হয় অন্যথায় মিথ্যা

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

উদাহরণ

def solve(s, t):
   while len(s) > 0:
      position = s.find(t)
      if position == -1:
         break
      s = s.replace(t, "", 1)
   return len(s) == 0
s = "pipipinnn"
t = "pin"
print(solve(s, t))

ইনপুট

"pipipinnn", "pin"

আউটপুট

True

  1. পাইথনের চেসবোর্ডে একটি প্রদত্ত কোষে রানী আক্রমণ করতে পারে কিনা তা পরীক্ষা করুন

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

  3. প্রদত্ত স্ট্রিং প্যানগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. একটি প্রদত্ত স্ট্রিং এ একটি সাবস্ট্রিং উপস্থিত আছে কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম।