ধরুন, একটি বাইনারি স্ট্রিং s দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে স্ট্রিং-এ থাকা সব 1-গুলো কি সমান দূরত্বে আছে। অর্থাৎ, किन्हीं দুটি 1-র মধ্যবর্তী দূরত্ব সব জায়গায় একই। স্ট্রিং-এ কমপক্ষে দুটি 1 থাকবে।
যেমন, ইনপুট s = "100001000010000" হলে আউটপুট হবে True, কারণ ১-গুলো একে অপর থেকে দূরত্ব ৪।
সমাধানের ধাপসমূহ
indexনামক একটি লিস্টে সব1-এর পজিশন (ইনডেক্স) সংরক্ষণ করুন।t = len(index)।i = 1থেকেt-1পর্যন্ত লুপ চালান:- যদি
(index[i] - index[i-1]) != (index[1] - index[0])হয়, তবে False ফেরত দিন।
- যদি
- লুপ শেষ হলে True ফেরত দিন।
উদাহরণ কোড
def solve(s):
index = []
for i in range(len(s)):
if s[i] == '1':
index.append(i)
t = len(index)
for i in range(1, t):
if (index[i] - index[i-1]) != (index[1] - index[0]):
return False
return True
s = "100001000010000"
print(solve(s))
ইনপুট
"100001000010000"
আউটপুট
True