ধরুন আমাদের একটি ছোট হাতের বর্ণমালার স্ট্রিং s আছে, এবং একটি অফসেট নম্বর বলে k। আমাদের s-এর প্রতিটি অক্ষরকে k অক্ষর দিয়ে প্রতিস্থাপন করতে হবে বর্ণমালা বরাবর আরও। আমাদের মনে রাখতে হবে যে অক্ষরটি যখন a বা z এর পরে ওভারফ্লো হয়, তখন এটি অন্য দিকে মোড়ানো হয়।
সুতরাং, ইনপুট যদি "হ্যালো", k =3 এর মত হয়, তাহলে আউটপুট হবে "khoor"
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
একটি ফাংশন শিফট() সংজ্ঞায়িত করুন। এটি c
লাগবে -
i :=(c) এর ASCII - ('a') এর ASCII
-
i :=i + k
-
i :=i mod 26
-
ASCII ('a') + i)
এর ASCII থেকে অক্ষর ফেরত দিন -
মূল পদ্ধতি থেকে, নিম্নলিখিতগুলি করুন -
-
ret :=s-এ প্রতিটি অক্ষর c-এর জন্য, shift(c) কল করে উপাদানগুলির একটি তালিকা তৈরি করুন
-
রিটার্ন রিটার্ন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, s, k): def shift(c): i = ord(c) - ord('a') i += k i %= 26 return chr(ord('a') + i) return "".join(map(shift, s)) ob = Solution() print(ob.solve("hello", 3))
ইনপুট
"hello", 3
আউটপুট
khoor