ধরুন আমাদের একটি ছোট হাতের বর্ণমালার স্ট্রিং টেক্সট আছে, এবং কী নামে আরেকটি স্ট্রিং আছে। আমাদের একটি নতুন স্ট্রিং খুঁজে বের করতে হবে যেখানে পাঠ্য[i]-এর প্রতিটি অক্ষর অফসেট কী[i] দিয়ে ডানদিকে সরানো হয়। এখানে অফসেটটি বর্ণমালায় কী[i] এর অবস্থান (A=0, B=1 ইত্যাদি) দ্বারা উপস্থাপিত হয়।
সুতরাং, যদি ইনপুটটি পাঠ্য ="কোড", কী ="টিম" এর মতো হয়, তাহলে আউটপুট হবে "vsdq"
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- cip :=একটি নতুন তালিকা
- start :='a' এর ASCII
- টেক্সট থেকে প্রতিটি l এবং কী থেকে k, করুন
- shift :=(k এর ASCII) - শুরু করুন
- pos :=start +((l এর ASCII) - start + shift) mod 26
- cip-এর শেষে pos-এর অক্ষর সন্নিবেশ করান
- সিপির স্ট্রিং যোগ করুন এবং রিটার্ন করুন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution:
def solve(self, text, key):
cip = []
start = ord('a')
for l, k in zip(text, key):
shift = ord(k) - start
pos = start + (ord(l) - start + shift) % 26
cip.append(chr(pos))
return ''.join([l for l in cip])
ob = Solution()
text = "code"
key = "team"
print(ob.solve(text, key)) ইনপুট
"code", "team"
আউটপুট
vsdq