ধরুন, আমাদের দুটি স্ট্রিং আছে। আমরা সেই স্ট্রিংগুলি থেকে একটি আভিধানিকভাবে সর্বনিম্ন স্ট্রিং তৈরি করতে চাই। স্ট্রিং তৈরি করতে আমরা দুটি স্ট্রিংয়ের প্রথম অক্ষর তুলনা করি এবং একটি স্ট্রিং থেকে আভিধানিকভাবে ছোট অক্ষরটি বের করি। টাইয়ের ক্ষেত্রে অর্থাৎ, অক্ষরগুলি একই; আমরা প্রথম স্ট্রিং থেকে অক্ষরটি বের করি। উভয় স্ট্রিং খালি না হওয়া পর্যন্ত আমরা এই প্রক্রিয়াটি পুনরাবৃত্তি করি। নির্মিত সর্বনিম্ন স্ট্রিং ফেরত দিতে হবে।
সুতরাং, যদি ইনপুটটি হয় input_1 ='TUTORIALS', input_2 ='POINT', তাহলে আউটপুট হবে POINTTUTORIALS
যদি আমরা দুটি স্ট্রিং তুলনা করি, আমরা এই ধাপে ধাপে −
পাইTUTORIALS POINT TUTORIALS OINT = P TUTORIALS INT = PO TUTORIALS NT = POI TUTORIALS T = POIN TUTORIALS = POINT
স্ট্রিংগুলির একটি খালি থাকায়, পুরো প্রথম স্ট্রিংটি এখন ফলস্বরূপ সর্বনিম্ন স্ট্রিংটিতে স্থাপন করা হয়। সুতরাং, চূড়ান্ত স্ট্রিং হল পয়েন্টটিউটোরিয়ালস।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- input_1 :=input_1 + "z"
- input_2 :=input_2 + "z"
- temp_1 :=0
- temp_2 :=0
- res_str :=ফাঁকা স্ট্রিং
- যখন temp_1
- যদি input_1[index temp_1 থেকে স্ট্রিংয়ের শেষ পর্যন্ত]
- res_str :=res_str + input_1[temp_1]
- temp_1 :=temp_1 + 1
- যদি input_1[index temp_1 থেকে স্ট্রিংয়ের শেষ পর্যন্ত]
- res_str :=res_str + input_2[temp_2]
- temp_2 :=temp_2 + 1
- res_str :=res_str + input_1[সূচী temp_1 থেকে স্ট্রিংয়ের দ্বিতীয় শেষ উপাদান পর্যন্ত]
- res_str :=res_str + input_2[সূচী temp_2 থেকে স্ট্রিংয়ের দ্বিতীয় শেষ উপাদান পর্যন্ত]
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(input_1, input_2): input_1 += "z" input_2 += "z" temp_1 = 0 temp_2 = 0 res_str = "" while temp_1 < len(input_1) and temp_2 < len(input_2): if input_1[temp_1:] < input_2[temp_2:]: res_str += input_1[temp_1] temp_1 += 1 else: res_str += input_2[temp_2] temp_2 += 1 res_str = res_str[:-1] if temp_1 < len(input_1): res_str += input_1[temp_1:-1] if temp_2 < len(input_2): res_str += input_2[temp_2:-1] return res_str print(solve('TUTORIALS', 'POINT'))
ইনপুট
'TUTORIALS', 'POINT'
আউটপুট
POINTTUTORIALS