Last Updated : 28 Jul, 2022
Given a string and a number N, we need to mirror the characters from the N-th position up to the length of the string in alphabetical order. In mirror operation, we change ‘a’ to ‘z’, ‘b’ to ‘y’, and so on.
Examples:
Input : N = 3 paradox Output : paizwlc We mirror characters from position 3 to end. Input : N = 6 pneumonia Output : pneumlmrz
We have an existing solution for this problem please refer to Mirror characters of a string link. We can solve this problem in Python using Dictionary Data Structure. The mirror value of 'a' is 'z','b' is 'y', etc, so we create a dictionary data structure and one-to-one map reverse sequence of alphabets onto the original sequence of alphabets. Now traverse characters from length k in given string and change characters into their mirror value using a dictionary.
Implementation:
Python3
# function to mirror characters of a string
def mirrorChars(input,k):
# create dictionary
original = 'abcdefghijklmnopqrstuvwxyz'
reverse = 'zyxwvutsrqponmlkjihgfedcba'
dictChars = dict(zip(original,reverse))
# separate out string after length k to change
# characters in mirror
prefix = input[0:k-1]
suffix = input[k-1:]
mirror = ''
# change into mirror
for i in range(0,len(suffix)):
mirror = mirror + dictChars[suffix[i]]
# concat prefix and mirrored part
print (prefix+mirror)
# Driver program
if __name__ == "__main__":
input = 'paradox'
k = 3
mirrorChars(input,k)
Time complexity: O(n)
Auxiliary Space: O(n)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4