ধরুন, দুটি স্ট্রিং s এবং t দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে t-কে বাম বা ডান দিকে ২ প্লেস রোটেট করে কি s পাওয়া যায়।
যেমন, ইনপুট s = "kolkata", t = "takolka" হলে আউটপুট হবে True, কারণ "takolka"-কে বাম দিকে ২ বার রোটেট করলে "kolkata" হয়।
সমাধানের ধাপসমূহ
- যদি
len(s) != len(t)হয়, তবে False ফেরত দিন। l = len(t)।- বাম রোটেশন:
left_rot = t[l-2:] + t[0:l-2]। - ডান রোটেশন:
right_rot = t[2:] + t[0:2]। - যদি
s == left_rotবাs == right_rotহয়, তবে True, অন্যথায় False।
উদাহরণ কোড
def solve(s, t):
if len(s) != len(t):
return False
l = len(t)
left_rot = t[l-2:] + t[0:l-2]
right_rot = t[2:] + t[0:2]
return (s == right_rot or s == left_rot)
s = "kolkata"
t = "takolka"
print(solve(s, t))
ইনপুট
"kolkata", "takolka"
আউটপুট
True