ধরুন আমাদের কাছে একটি স্ট্রিং s আছে যা সম্পাদকে টাইপ করা অক্ষরগুলিকে উপস্থাপন করে, "<-" চিহ্নটি একটি ব্যাকস্পেস নির্দেশ করে, আমাদের সম্পাদকের বর্তমান অবস্থা খুঁজে বের করতে হবে৷
সুতরাং, যদি ইনপুটটি s ="ilovpython<-<-ON" এর মত হয়, তাহলে আউটপুটটি "ilovepythON" হবে, যেহেতু "ilovepython" এর পরে দুটি ব্যাকস্পেস অক্ষর আছে এটি শেষ দুটি অক্ষর মুছে ফেলবে, তারপর আবার "ON" টাইপ করুন। .
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- res :=একটি নতুন তালিকা
- s এর প্রতিটি i এর জন্য, করুন
- যদি i '-' এর মত হয় এবং res এর শেষ অক্ষর '<' এর মত হয়, তাহলে
- res থেকে শেষ উপাদান মুছুন
- যদি res খালি না হয়, তাহলে
- res থেকে শেষ উপাদান মুছুন
- অন্যথায়,
- res এর শেষে i ঢোকান
- যদি i '-' এর মত হয় এবং res এর শেষ অক্ষর '<' এর মত হয়, তাহলে
- রেজে উপস্থিত উপাদানে যোগ দিন এবং ফিরে আসুন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
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