ধরুন আমাদের কাছে একটি স্ট্রিং এবং সীমাবদ্ধতার একটি সেট আছে, আমাদের স্ট্রিং-এর শব্দগুলিকে বিপরীত করতে হবে যখন বিভাজনের আপেক্ষিক ক্রম পরিবর্তন করা উচিত নয়৷
সুতরাং, যদি ইনপুটটি s ="কম্পিউটার/নেটওয়ার্ক:ইন্টারনেট|টিউটোরিয়াল পয়েন্ট" ডেলিমস =["/", ":", '|'] এর মত হয়, তাহলে আউটপুটটি হবে টিউটোরিয়াল পয়েন্ট/ইন্টারনেট:নেটওয়ার্ক|কম্পিউটার
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব:
শব্দ :=একটি নতুন তালিকা
উত্তর :=ফাঁকা স্ট্রিং
temp :=একটি মানচিত্র যেখানে
বিভাজনকারী অক্ষরগুলি ব্যতীত শব্দগুলিকে আলাদা করুন এবং সেগুলিকে শব্দ বিন্যাসে সন্নিবেশ করুন
অক্ষরটি ডিলিমিটারে থাকলে শব্দগুলিকে পৃথক করুন তারপর উত্তরে যোগ করুন,
অন্যথায় শব্দ বিন্যাস থেকে শব্দ বিপরীতভাবে পড়ুন এবং উত্তর যোগ করুন
উত্তর ফেরত দিন
আরও ভালভাবে বোঝার জন্য আসুন নিম্নলিখিত বাস্তবায়ন দেখি:
উদাহরণ
from itertools import groupby
class Solution:
def solve(self, sentence, delimiters):
words = []
ans = ""
for k, g in groupby(sentence, lambda x: x in delimiters):
if not k:
words.append("".join(g))
for k, g in groupby(sentence, lambda x: x in delimiters):
if k:
ans += "".join(g)
else:
ans += words.pop()
return ans
ob = Solution()
s = "Computer/Network:Internet|tutorialspoint"
delims = ["/", ":", '|']
print(ob.solve(s, delims)) ইনপুট
"Computer/Network:Internet|tutorialspoint", ["/", ":", '|']
আউটপুট
tutorialspoint/Internet:Network|Computer