দুটি ইউজার ইনপুট স্ট্রিং দেওয়া আছে, আমাদের কাজ হলো সকল কমন ক্যারেক্টার অ্যালফাবেটিকেল অর্ডারে প্রিন্ট করা।
উদাহরণ
Input: string1: python string2: program Output: op
ব্যাখ্যা
দুটি স্ট্রিং-এর মাঝপথে যেসব অক্ষর কমন সেগুলো হলো o (১ বার), p (১ বার)
অ্যালগরিদম
ধাপ ১: প্রথমে দুটি ইনপুট স্ট্রিং নিন। ধাপ ২: এরপর এই দুটি স্ট্রিংকে কাউন্টার ডিকশনারিতে রূপান্তর করুন। ধাপ ৩: এখন intersection() প্রোপার্টি ব্যবহার করে দুটি স্ট্রিং-এর কমন এলিমেন্ট বের করুন। ধাপ ৪: রেজাল্টও একটি কাউন্টার ডিকশনারি হবে যেটে কমন এলিমেন্টগুলো কী হিসেবে এবং তাদের কমন ফ্রিকোয়েন্সি ভ্যালু হিসেবে থাকবে। ধাপ ৫: কাউন্টার ডিকশনারির elements() মেথড ব্যবহার করে কী-গুলোর লিস্ট ফ্রিকোয়েন্সি সংখ্যক বার এক্সপ্যান্ড করুন। ধাপ ৬: লিস্টটি অ্যাসেন্ডিং অর্ডারে সর্ট করুন যাতে রেজাল্ট স্ট্রিং অ্যালফাবেটিকেল অর্ডারে আসে। ধাপ ৭: স্পেস ছাড়া ক্যারেক্টারগুলো জয়েন করুন ফাইনাল রেজাল্ট স্ট্রিং পাওয়ার জন্য।
উদাহরণ কোড
from collections import Counter def common(str1,str2): d1 = Counter(str1) d2 = Counter(str2) cdict = d1 & d2 if len(cdict) == 0: print -1 return cchars = list(cdict.elements()) cchars = sorted(cchars) print ("Common characters are ::>",''.join(cchars) ) # ড্রাইভার প্রোগ্রাম if __name__ == "__main__": s1 = input("Enter first string") s2 = input("Enter second string") common(s1, s2)আউটপুট
Enter first string python Enter second string program Common characters are ::> op