HackerRankInterview QuestionsPythonPython InterviewRandom

HackerRank Designer Door Mat problem solution in Python | python problem solution

Mr. Vincent works in a door mat manufacturing company. One day, he designed a new door mat with the following specifications:

  • Mat size must be X. ( is an odd natural number, and  is  times .)
  • The design should have ‘WELCOME’ written in the center.
  • The design pattern should only use |. and - characters.

Sample Designs

    Size: 7 x 21 
---------.|.---------
------.|..|..|.------
---.|..|..|..|..|.---
-------WELCOME-------
---.|..|..|..|..|.---
------.|..|..|.------
---------.|.---------

Size: 11 x 33
---------------.|.---------------
------------.|..|..|.------------
---------.|..|..|..|..|.---------
------.|..|..|..|..|..|..|.------
---.|..|..|..|..|..|..|..|..|.---
-------------WELCOME-------------
---.|..|..|..|..|..|..|..|..|.---
------.|..|..|..|..|..|..|.------
---------.|..|..|..|..|.---------
------------.|..|..|.------------
---------------.|.---------------

Input Format

A single line containing the space separated values of  and .

Constraints

Output Format

Output the design pattern.

Sample Input

9 27

Sample Output

------------.|.------------
---------.|..|..|.---------
------.|..|..|..|..|.------
---.|..|..|..|..|..|..|.---
----------WELCOME----------
---.|..|..|..|..|..|..|.---
------.|..|..|..|..|.------
---------.|..|..|.---------
------------.|.------------

Problem solution in Python 2 programming.

N, M = map(int,raw_input().split()) # More than 6 lines of code will result in 0 score. Blank lines are not counted.
for i in xrange(1,N,2):
print 3*(N-i)/2*"-"+".|."*i+"-"*(3*(N-i)/2)
print "-"*((3*N-7)/2)+"WELCOME"+"-"*((3*N-7)/2)
for i in xrange(N-2,-1,-2):
print (3*(N-i)/2)*"-"+".|."*i+"-"*(3*(N-i)/2)

Problem solution in Python 3 programming.

n, m = map(int,input().split())
pattern = [('.|.'*(2*i + 1)).center(m, '-') for i in range(n//2)]
print('n'.join(pattern + ['WELCOME'.center(m, '-')] + pattern[::-1]))

Problem solution in pypy programming.

N, M = map(int,raw_input().split()) 
for i in xrange(1,N,2):
print "-"*(M/2-(3*i-1)/2)+ ".|."*((i-1)/2)+".|." + ".|."*((i-1)/2) + "-"*(M/2-(3*i-1)/2)
print "WELCOME".center(M,"-")
for i in xrange(N-2,-1,-2):
print "-"*(M/2-(3*i-1)/2) + ".|."*((i-1)/2)+".|." + ".|."*((i-1)/2) + "-"*(M/2-(3*i-1)/2)

Problem solution in pypy3 programming.

n, m = map(int,input().split())
pattern = [('.|.'*(2*i + 1)).center(m, '-') for i in range(n//2)]
print('n'.join(pattern + ['WELCOME'.center(m, '-')] + pattern[::-1]))



Leave a ReplyCancel reply

Exit mobile version