দুটি স্ট্রিং যদি একই ক্যারেক্টার নিয়ে গঠিত থাকে (অর্ডার ভিন্ন হলেও), তবে সেগুলোকে অ্যানাগ্রাম বলা হয়। এই টিউটোরিয়ালে collections.Counter() মেথড ব্যবহার করে অ্যানাগ্রাম চেক করা দেখানো হয়েছে।
Input: string_one = "cat" string_two = "tac" Output: True
collections.Counter() কী?
collections.Counter() একটি ডিকশনারি রিটার্ন করে যাতে স্ট্রিং-এর প্রতিটি ক্যারেক্টারের ফ্রিকোয়েন্সি থাকে। Counter অবজেক্টের মাধ্যমে মোস্ট কমন এলিমেন্ট, ইউনিক এলিমেন্ট, কাউন্ট ইত্যাদি বের করা যায়।
উদাহরণ: Counter অবজেক্ট বোঝা
import collections
# Counter অবজেক্ট তৈরি
counter = collections.Counter("Hafeez")
# প্রিন্ট করুন
print(counter)
# সবচেয়ে কমন ক্যারেক্টার দেখান
print("\nMost common character")
print(counter.most_common(1))
আউটপুট
Counter({'e': 2, 'H': 1, 'a': 1, 'f': 1, 'z': 1})
Most common character
[('e', 2)]
অ্যালগরিদম: অ্যানাগ্রাম চেক
১. দুটি স্ট্রিং ইনিশিয়ালাইজ করুন।
২. দুটি স্ট্রিং-এর জন্য collections.Counter() অবজেক্ট তৈরি করুন।
৩. যদি দুটি অবজেক্ট সমান হয়:
৩.১. True প্রিন্ট করুন।
অন্যথায়:
৩.২. False প্রিন্ট করুন।
উদাহরণ: অ্যানাগ্রাম চেক
import collections
# স্ট্রিং ইনিশিয়ালাইজ
string_one = "cat"
string_two = "atc"
# Counter অবজেক্ট তুলনা
if collections.Counter(string_one) == collections.Counter(string_two):
print(True)
else:
print(False)
আউটপুট
True
উপসংহার
collections.Counter() ব্যবহার করে সহজে অ্যানাগ্রাম যাচাই করা যায়। সমস্যা হলে কমেন্টে জানান।