In this challenge, you will determine whether a string is funny or not. To determine whether a string is funny, create a copy of the string in reverse e.g. . Iterating through each string, compare the absolute difference in the ascii values of the characters at positions 0 and 1, 1 and 2 and so on to the end. If the list of absolute differences is the same for both strings, they are funny.
Determine whether a give string is funny. If it is, return Funny, otherwise return Not Funny.
Example
s = ‘lmnop’
The ordinal values of the charcters are [108, 109, 110, 111, 112]. sreverse = ‘ponml’ and the ordinals are [112, 111, 110, 109, 108]. The absolute differences of the adjacent elements for both strings are [1, 1, 1, 1], so the answer is Funny
.
Function Description
Complete the funnyString function in the editor below.
funnyString has the following parameter(s):
- string s: a string to test
Returns
- string: either
Funny
orNot Funny
Input Format
The first line contains an integer q, the number of queries.
The next q lines each contain a string, s.
Constraints
1 <= q <= 10
2 <= length of s <= 10000
Sample Input
1 | STDIN Function |
Sample Output
1 | Funny |
Explanation
Let r be the reverse of s.
Test Case 0:
s = acxz, r = zxca
Corresponding ASCII values of characters of the strings:
[97, 99, 120, 122] and [122, 120, 99, 97]
For both the strings the adjacent difference list is [2, 21, 2].
Test Case 1:
s = bcxz, r = zxcb
Corresponding ASCII values of characters of the strings:
s = [98, 99, 120, 122] and r = [122, 120, 99, 98]
The difference list for string s is [1, 21, 2] and for string is [2, 21, 1].
Solution
Solution 1 with JS
1 | /* |
Solution 2 with TS
1 | /* |