একটি স্ট্রিং দেওয়া আছে। এর দুটি অর্ধেকের ক্যারেক্টার সেট একই কিনা তা যাচাই করতে হবে। স্ট্রিংয়ের দৈর্ঘ্য বিষম হলে মাঝপথের ক্যারেক্টার বাদ দিয়ে বাকি দুটি অংশ যাচাই করা হয়।
অ্যালগরিদম
ধাপ ১: একটি স্ট্রিং দিন। ধাপ ২: স্ট্রিংকে দুটি অংশে ভাগ করুন। ধাপ ৩: দুটি অংশকে Counter(iterator) মেথড দিয়ে ডিকশনারিতে রূপান্তর করুন, যেখানে ক্যারেক্টার কী এবং ফ্রিকোয়েন্সি ভ্যালু। ধাপ ৪: দুটি ডিকশনারি তুলনা করুন (== অপারেটর)। কী ও ভ্যালু দুটোই মিললে অর্ধেকগুলো একই।
উদাহরণ কোড
from collections import Counter
def checkhalves(input):
length = len(input)
if (length % 2 != 0):
first = input[0:int(length / 2)]
second = input[(int(length / 2)) + 1:]
else:
first = input[0:int(length / 2)]
second = input[int(length / 2):]
if Counter(first) == Counter(second):
print("দুটি অর্ধেক একই")
else:
print("দুটি অর্ধেক একই নয়")
# ড্রাইভার প্রোগ্রাম
if __name__ == "__main__":
input_str = input("স্ট্রিং দিন")
checkhalves(input_str)
আউটপুট
স্ট্রিং দিন abba দুটি অর্ধেক একই