मान लीजिए कि हमारे पास एक लोअरकेस वर्णमाला स्ट्रिंग s है, और एक ऑफसेट संख्या k कहती है। हमें s के प्रत्येक अक्षर को अक्षर k के स्थान पर आगे अक्षर के साथ बदलना होगा। हमें यह ध्यान रखना होगा कि जब अक्षर a या z से आगे निकल जाता है, तो वह दूसरी तरफ लिपट जाता है।
इसलिए, यदि इनपुट "हैलो", k =3 जैसा है, तो आउटपुट "खूर" होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
फ़ंक्शन शिफ्ट () को परिभाषित करें। इसमें c
. लगेगा -
i :=(c) का ASCII - ('a') का ASCII
-
मैं :=मैं + के
-
मैं :=मैं मॉड 26
-
ASCII (ASCII of ('a') + i)
. से रिटर्न कैरेक्टर -
मुख्य विधि से, निम्न कार्य करें -
-
ret :=प्रत्येक वर्ण c in s के लिए, 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