Validating Roman Numerals in Python - HackerRank Solution

Validating Roman Numerals in Python - HackerRank Solution
Validating Roman Numerals in Python - HackerRank Solution


Problem :


You are given a string, and you have to validate whether it's a valid Roman numeral. If it is valid, print True. Otherwise, print False. Try to create a regular expression for a valid Roman numeral.



Input Format :

A single line of input containing a string of Roman characters.

Output Format :

Output a single line containing True or False according to the instructions above.

Constraints :

The number will be between 1 and 3999(both included).



Sample Input :

CDXXI

Sample Output :

True

References :

Regular expressions are a key concept in any programming language. A quick explanation with Python examples is available here. You could also go through the link below to read more about regular expressions in Python.
https://developers.google.com/edu/python/regular-expressions



Solution :


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Validating Roman Numerals in Python - Hacker Rank Solution
# Python 3
# Validating Roman Numerals in Python - Hacker Rank Solution START
thousand = 'M{0,3}'
hundred = '(C[MD]|D?C{0,3})'
ten = '(X[CL]|L?X{0,3})'
digit = '(I[VX]|V?I{0,3})'
regex_pattern = r"%s%s%s%s$" % (thousand, hundred, ten, digit)	
# Do not delete 'r'.
# Validating Roman Numerals in Python - Hacker Rank Solution END

import re
print(str(bool(re.match(regex_pattern, input()))))





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
1 Comments
  • Sagar Majumdar
    Sagar Majumdar Friday, October 29, 2021

    thousand = 'M{0,3}'
    hundred = '(C[MD]|D?C{0,3})'
    ten = '(X[CL]|L?X{0,3})'
    digit = '(I[VX]|V?I{0,3})'

    regex_pattern = r"M{0,3}(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[VX]|V?I{0,3})$" # Do not delete 'r'.

    import re
    print(str(bool(re.match(regex_pattern, input()))))

Add Comment
comment url