কম্পিউটার

পাইথনে টাইপিং এবং ব্যাকস্পেসিং সম্পাদন করে সম্পাদকে চূড়ান্ত পাঠ্য খুঁজে পাওয়ার প্রোগ্রাম


ধরুন আমাদের কাছে একটি স্ট্রিং s আছে যা সম্পাদকে টাইপ করা অক্ষরগুলিকে উপস্থাপন করে, "<-" চিহ্নটি একটি ব্যাকস্পেস নির্দেশ করে, আমাদের সম্পাদকের বর্তমান অবস্থা খুঁজে বের করতে হবে৷

সুতরাং, যদি ইনপুটটি s ="ilovpython<-<-ON" এর মত হয়, তাহলে আউটপুটটি "ilovepythON" হবে, যেহেতু "ilovepython" এর পরে দুটি ব্যাকস্পেস অক্ষর আছে এটি শেষ দুটি অক্ষর মুছে ফেলবে, তারপর আবার "ON" টাইপ করুন। .

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

  • res :=একটি নতুন তালিকা
  • s এর প্রতিটি i এর জন্য, করুন
    • যদি i '-' এর মত হয় এবং res এর শেষ অক্ষর '<' এর মত হয়, তাহলে
      • res থেকে শেষ উপাদান মুছুন
      • যদি res খালি না হয়, তাহলে
        • res থেকে শেষ উপাদান মুছুন
    • অন্যথায়,
      • res এর শেষে i ঢোকান
  • রেজে উপস্থিত উপাদানে যোগ দিন এবং ফিরে আসুন

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

উদাহরণ

class Solution:
   def solve(self, s):
      res = [] for i in s:
      if i == '-' and res[-1] == '< ': res.pop()
         if res:
            res.pop()
         else:
            res.append(i)
      return "".join(res)
ob = Solution()
print(ob.solve("ilovepython<-<-ON"))

ইনপুট

"ilovepython<-<-ON"

আউটপুট

ilovepython<-<-ON

  1. পাইথনে নোড এবং ডিসেন্ডেন্টের মধ্যে পার্থক্য খুঁজে বের করার জন্য প্রোগ্রাম

  2. সেলেনিয়াম এবং পাইথন উপাদান এবং পাঠ্য খুঁজে পেতে?

  3. পাইথন প্রোগ্রামে পাঠ্য ফাইলগুলি পড়া এবং লেখা

  4. পাইথন প্রোগ্রাম একটি তালিকায় বৃহত্তম, ক্ষুদ্রতম, দ্বিতীয় বৃহত্তম এবং দ্বিতীয় ক্ষুদ্রতম খুঁজে পেতে?