# Hackerrank - The Love-Letter Mystery Solution

James found a love letter that his friend Harry has written to his girlfriend. James is a prankster, so he decides to meddle with the letter. He changes all the words in the letter into palindromes.

To do this, he follows two rules:

- He can only reduce the value of a letter by , i.e. he can change
*d*to*c*, but he cannot change*c*to*d*or*d*to*b*. - The letter
*a*may not be reduced any further.

Each reduction in the value of any letter is counted as a single operation. Find the minimum number of operations required to convert a given string into a palindrome.

For example, given the string , the following two operations are performed: *cd e* →

*cd*→

**d***cdc*.

**Function Description**

Complete the *theLoveLetterMystery* function in the editor below. It should return the integer representing the minimum number of operations needed to make the string a palindrome.

theLoveLetterMystery has the following parameter(s):

*s*: a string

**Input Format**

The first line contains an integer , the number of queries.

The next lines will each contain a string .

**Constraints**

| s |

All strings are composed of lower case English letters, *ascii[a-z], with no spaces.

**Output Format**

A single line containing the minimum number of operations corresponding to each test case.

**Sample Input**

```
4
abc
abcba
abcd
cba
```

**Sample Output**

```
2
0
4
2
```

**Explanation**

- For the first test case,
*ab*.**c**→ ab**b**→ aba - For the second test case,
*abcba*is already a palindromic string. - For the third test case,
*abc*.**d**→ abc**c**→ abc**b**→ ab**c**a → abba - For the fourth test case,
.**c**ba →**b**ba → aba

### Solution in Python

```
def theLoveLetterMystery(s):
total = 0
for i,j in enumerate(range(len(s)//2),1):
a = s[ j]
b = s[-i]
total+= abs(ord(a)-ord(b))
return tot
for _ in range(int(input())):
print(theLoveLetterMystery(input()))
```

Additional Information

```
Variable a - Left part of string
Example aabb in aabbcbbaa or aabb in aabbbbaa
Variable b - Right part of string
```

*Using deque*

```
from collections import deque
def theLoveLetterMystery(s):
s = deque((ord(i) for i in s))
return sum(abs(s.pop()-s.popleft()) for i in range(len(s)//2))
for _ in range(int(input())):
print(theLoveLetterMystery(input()))
```