HackerRank Designer Door Mat problem solution in Python | python problem solution
Table of Contents
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]))