Skip to content

Instantly share code, notes, and snippets.

@Free-tek
Last active November 22, 2020 19:22
Show Gist options
  • Select an option

  • Save Free-tek/24b808fccb212ed14c5792ee819fe9ca to your computer and use it in GitHub Desktop.

Select an option

Save Free-tek/24b808fccb212ed14c5792ee819fe9ca to your computer and use it in GitHub Desktop.
Problem solving
#This solution was done in python3
#QUESTION A
def solution(string, integer):
alphabets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
result = []
if len(string)%2 == 0:
length = int(len(string)/2)
else:
length = int((len(string)/2) + 1)
for i in range(length):
forwardIndex = alphabets.index(string[i])
reverseIndex = alphabets.index(string[(-1 * (i+1))])
if forwardIndex == reverseIndex:
if reverseIndex + integer > 26:
reverseIndex = reverseIndex + integer %26
result.insert(len(result)-i, alphabets[reverseIndex])
else:
result.insert(len(result)-i, alphabets[reverseIndex + integer])
else:
if forwardIndex + integer > 26:
forwardIndex = forwardIndex + integer %26
result.insert(i, alphabets[forwardIndex])
else:
result.insert(i, alphabets[forwardIndex + integer])
if reverseIndex + integer > 26:
reverseIndex = reverseIndex + integer % 26
result.insert(len(result)-i, alphabets[reverseIndex])
else:
result.insert(len(result)-i, alphabets[reverseIndex + integer])
return result
#QUESTION B
#The code will not work if the language is changed from English to Chinese or Greek with special characters that
#cannot be encoded in ASCII
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment