Matrix Script in Python - HackerRank Solution

Matrix Script in Python - HackerRank Solution
Matrix Script in Python - HackerRank Solution


Problem :


Neo has a complex matrix script. The matrix script is a N X M grid of strings. It consists of alphanumeric characters, spaces and symbols (!,@,#,$,%,&).
Matrix Script in Python - HackerRank Solution
To decode the script, Neo needs to read each column and select only the alphanumeric characters and connect them. Neo reads the column from top to bottom and starts reading from the leftmost column.
If there are symbols or spaces between two alphanumeric characters of the decoded script, then Neo replaces them with a single space '' for better readability.
Neo feels that there is no need to use 'if' conditions for decoding.
Alphanumeric characters consist of: [A-Z, a-z, and 0-9].



Input Format :

The first line contains space-separated integers N (rows) and M (columns) respectively.
The next N lines contain the row elements of the matrix script.

Constraints :

  • 0 < N
  • M < 100
Note: A 0 score will be awarded for using 'if' conditions in your code.

Output Format :

Print the decoded matrix script.



Sample Input :

7 3
Tsi
h%x
i #
sM 
$a 
#t%
ir!

Sample Output :

This is Matrix#  %!

Explanation :

The decoded script is:
This$#is% Matrix#  %!

Neo replaces the symbols or spaces between two alphanumeric characters with a single space ' ' for better readability.
So, the final decoded script is:
This is Matrix#  %!



Solution :


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Matrix Script in Python - Hacker Rank Solution
# Python 3
#!/bin/python3
# Matrix Script in Python - Hacker Rank Solution START
import math
import os
import random
import re
import sys

first_multiple_input = input().rstrip().split()

n = int(first_multiple_input[0])
m = int(first_multiple_input[1])

matrix = []

for _ in range(n):
    matrix_item = input()
    matrix.append(matrix_item)

# start   
matrix = list(zip(*matrix))

sample = str()

for words in matrix:
    for char in words:
        sample += char
       
print(re.sub(r'(?<=\w)([^\w\d]+)(?=\w)', ' ', sample)) 
# Matrix Script in Python - Hacker Rank Solution END





Disclaimer :-
the above hole problem statement is given by hackerrank.com but the solution is generated by the codeworld19 authority if any of the query regarding this post or website fill the following contact form thank you.

Next Post Previous Post
3 Comments
  • Unknown
    Unknown Sunday, December 13, 2020

    sir when we run this code we get a /n in the end of output which is used for new line how can we remove it

  • Sagar Majumdar
    Sagar Majumdar Friday, October 29, 2021

    #!/bin/python3

    import math
    import os
    import random
    import re
    import sys




    first_multiple_input = input().rstrip().split()

    n = int(first_multiple_input[0])

    m = int(first_multiple_input[1])

    matrix = []

    for _ in range(n):
    matrix_item = input()
    matrix.append(matrix_item)

    encoded_string = "".join([matrix[j][i] for i in range(m) for j in range(n)])
    pat = r'(?<=[a-zA-Z0-9])[^a-zA-Z0-9]+(?=[a-zA-Z0-9])'
    print(re.sub(pat,' ',encoded_string))

  • Unknown
    Unknown Saturday, January 15, 2022

    r'(?<=\w)([\W]+)(?=\w)

Add Comment
comment url