একটি ২৬ অক্ষরের ক্যারেক্টার সেট দেওয়া আছে, এখানে একটি নতুন ক্যারেক্টার সেট ব্যবহার করা হচ্ছে। আরেকটি ক্যারেক্টার সেট সাধারণ আলফাবেট সেট (a, b, c........z) এর মত। কাজ হলো নতুন ক্যারেক্টার সেট ও আলফাবেট সেটের মধ্যে সম্পর্ক স্থাপন করা।
উদাহরণ
নতুন ক্যারেক্টার সেট: qwertyuiopasdfghjklzxcvbnm ইনপুট: "wwmm" আউটপুট: bbzy
অ্যালগরিদম
ধাপ ১: নতুন ক্যারেক্টার সেট এবং রূপান্তর করার স্ট্রিং ইনপুট নিন। ধাপ ২: মূল ক্যারেক্টার সেটও দেওয়া আছে। ধাপ ৩: একটি ডিকশনারি বানান, এখানে ম্যাপ টেকনিক ব্যবহার, ইংরেজি ক্যারেক্টার সেট ও নতুন ক্যারেক্টার সেট ম্যাপ করা হয়েছে, zip() এটি করে দেয়। দুটি ক্যারেক্টার সেট ম্যাপ করা হয়েছে, এখানে নতুন ক্যারেক্টার সেটের প্রতিটি ক্যারেক্টারকে মূল ক্যারেক্টার সেটের প্রতিটি ক্যারেক্টার সাথে ক্রমানুসারে ম্যাপ করা হয়েছে। ধাপ ৪: মূল স্ট্রিংয়ের মাধ্যমে ইটারেট করুন এবং মূল ক্যারেক্টার সেটের ক্যারেক্টার বের করুন। ধাপ ৫: ক্যারেক্টারগুলো স্পেস ছাড়া জয়েন করে নতুন স্ট্রিং বানান।
উদাহরণ কোড
# স্ট্রিংকে নতুন ক্যারেক্টার সেটে রূপান্তর করার ফাংশন
def newString(cs, n):
ori = 'abcdefghijklmnopqrstuvwxyz'
newchar = dict(zip(cs, ori))
newstr = [newchar[chr] for chr in n]
print(''.join(newstr))
# ড্রাইভার প্রোগ্রাম
if __name__ == "__main__":
newcharSet = 'qwertyuiopasdfghjklzxcvbnm'
input_str = 'wwmn'
newString(newcharSet, input_str)
আউটপুট
bbzy