An English text needs to be encrypted using the following encryption scheme.
First, the spaces are removed from the text. Let be the length of this text.
Then, characters are written into a grid, whose rows and columns have the following constraints:
s = if man was meant to stay on the ground god would have given us roots
After removing spaces, the string is
54 characters long.
sqrt(54) is between
8, so it is written in the form of a grid with 7 rows and 8 columns.
ifmanwas meanttos tayonthe groundgo dwouldha vegivenu sroots
- Ensure that
row X columns >= L
- If multiple grids satisfy the above conditions, choose the one with the minimum area, i.e.
rows X columns.
The encoded message is obtained by displaying the characters of each column, with a space between column texts. The encoded message for the grid above is:
imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn sseoau
Create a function to encode a message.
Complete the encryption function in the editor below.
encryption has the following parameter(s):
- string s: a string to encrypt
- string: the encrypted string
- One line of text, the string
1 <= length of s <= 81
s contains characters in the range ascii[a-z] and space, ascii(32).
I’m providing the solution for Python and JS, please leave on the comments if you found a better way.
The actual solution is pretty simple if you got to understand the problem. The first time I read it wrong, and I missed some important data, so make sure you read carefuly through the problem and the examples they provide.