কম্পিউটার

টাইপ করা স্ট্রিং চেক করার প্রোগ্রামটি আটকে থাকা কীবোর্ড কীগুলিতে টার্গেট স্ট্রিং লেখার জন্য বা পাইথনে নয়


ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে। আমরা t গঠন করতে চাই, কিন্তু কীবোর্ডে কিছু সমস্যা আছে যেখানে কিছু অক্ষর আটকে গেছে তাই সেগুলি 1 বা তার বেশি বার লেখা হতে পারে। আমাদের চেক করতে হবে এটা সম্ভব যে s টাইপ করা t লেখার জন্য ছিল বা না।

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

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

  • i :=0, j :=0
  • s_len :=s এর আকার
  • t_len :=t এর আকার
  • t_last :=ফাঁকা স্ট্রিং
  • যখন j
  • যদি i s_len এর মত হয়, তাহলে
    • মিথ্যে ফেরত দিন
  • যদি s[i] t[j] এর মত হয়, তাহলে
    • t_last :=t[j]
    • i :=i + 1
    • j :=j + 1
  • অন্যথায় যখন s[i] t_last এর মত হয়, তাহলে
    • i :=i + 1
  • অন্যথায়,
    • মিথ্যে ফেরত দিন
  • যদি আমি
  • সত্যে প্রত্যাবর্তন করুন যদি s [সূচী i থেকে শেষ পর্যন্ত] সমস্ত অক্ষর t_last এর মতো হয়
  • অন্যথায়,
    • সত্য ফেরান
  • উদাহরণ

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

    def solve(s, t):
       i = j = 0
       s_len = len(s)
       t_len = len(t)
       t_last = ""
       while j < t_len:
          if i == s_len:
             return False
          if s[i] == t[j]:
             t_last = t[j]
             i += 1
             j += 1
          elif s[i] == t_last:
             i += 1
          else:
             return False
       if i < s_len:
          return all(char == t_last for char in s[i:])
       else:
          return True
    
    s = "appppleee"
    t = "apple"
    print(solve(s, t))

    ইনপুট

    "appppleee", "apple"
    

    আউটপুট

    True

    1. রোবট পরীক্ষা করার প্রোগ্রাম টার্গেট পজিশনে পৌঁছাতে পারে বা পাইথনে না

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

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

    4. একটি বাক্য পরীক্ষা করার জন্য পাইথন প্রোগ্রাম প্যানগ্রামস কিনা।