আমাদের দুটি বাক্য আছে s এবং t। আমাদের যাচাই করতে হবে যে آیا তারা একই কিনা। এখানে বাক্যে শুধু ইংরেজি অক্ষর থাকে। দুটি বাক্য একই বলা হয় যখন একটি বাক্যের ভিতরে یک যেকোনো বাক্য (হয়তো খালি) যোগ করে উভয় বাক্যকে সমান করা যায়।
উদাহরণস্বরূপ, ইনপুট s = "we live at city Kolkata", t = "city Kolkata" হলে আউটপুট হবে True কারণ t-তে "we live in" যোগ করলে s পাওয়া যায়।
সমাধানের ধাপসমূহ
s1 := s-এর শব্দগুলোর লিস্টs2 := t-এর শব্দগুলোর লিস্টযদি
s1-এর আকার >s2-এর আকার হয়, তবে:s1এবংs2বদলান
s1খালি না হওয়া পর্যন্ত লুপ চালান:যদি
s2[0] == s1[0]হয়, তবে:s2-এর প্রথম শব্দ মুছে দিনs1-এর প্রথম শব্দ মুছে দিন
অন্যথায়, যদি
s2[-1] == s1[-1]হয়, তবে:s2-এর শেষ শব্দ মুছে দিনs1-এর শেষ শব্দ মুছে দিন
অন্যথায়:
Falseরিটার্ন করুন
Trueরিটার্ন করুন
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালোভাবে বুঝার জন্য:
def solve(s, t):
s1 = s.split()
s2 = t.split()
if len(s1) > len(s2):
s1, s2 = s2, s1
while s1:
if s2[0] == s1[0]:
s2.pop(0)
s1.pop(0)
elif s2[-1] == s1[-1]:
s2.pop()
s1.pop()
else:
return False
return True
s = "we live at city Kolkata"
t = "city Kolkata"
print(solve(s, t)) ইনপুট
"we live at city Kolkata", "city Kolkata"
আউটপুট
True