ধরুন, দৈর্ঘ্য ২-এর একটি স্ট্রিং s এবং দৈর্ঘ্য ২-এর শব্দগুলোর একটি লিস্ট w দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে w-র শব্দগুলো কনক্যাটেনেট (যোগ) করলে কি s সাবস্ট্রিং হিসেবে পাওয়া যায়।
যেমন, ইনপুট s = "no", w = ["ol", "on", "ni", "to"] হলে আউটপুট হবে True, কারণ "on" + "ol" = "onol" এ "no" সাবস্ট্রিং হিসেবে আছে।
সমাধানের ধাপসমূহ
n = len(w)।char_0 = False, char_1 = False।- প্রতিটি শব্দ
w[i]এর জন্য:- যদি
w[i] == sহয়, তবে True ফেরত দিন। - যদি
s[0] == w[i][1]হয়, তবেchar_0 = True। - যদি
s[1] == w[i][0]হয়, তবেchar_1 = True। - যদি
char_0 and char_1দুটোই True হয়, তবে True ফেরত দিন (কারণ দুটি শব্দ যুগল করে s বানাবে)।
- যদি
- লুপ শেষ হলে False ফেরত দিন।
উদাহরণ কোড
def solve(s, w):
n = len(w)
char_0 = False
char_1 = False
for i in range(n):
if w[i] == s:
return True
if s[0] == w[i][1]:
char_0 = True
if s[1] == w[i][0]:
char_1 = True
if char_0 and char_1:
return True
return False
s = "no"
w = ["ol", "on", "ni", "to"]
print(solve(s, w))
ইনপুট
"no", ["ol", "on", "ni", "to"]
আউটপুট
True