Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Reverse Roman Numerals by vashrepetitor05
import functools
ROMANS = {'M':'1000', 'D':'500', 'C':'100', 'L':'50', 'X':'10', 'V':'5', 'I':'1'}
def reverse_roman(data):
data = data.replace('CM', ' 900 ').replace('CD', ' 400 ').replace('XC', ' 90 ').replace('XL', ' 40 ').replace('IX', ' 9 ').replace('IV', ' 4 ')
for item in data:
if item in ROMANS:
data = data.replace(item, ' ' + ROMANS[item] + ' ')
return functools.reduce(lambda s, i: s + i, [int(i) for i in data.split()], 0)
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert reverse_roman('VI') == 6, '6'
assert reverse_roman('LXXVI') == 76, '76'
assert reverse_roman('CDXCIX') == 499, '499'
assert reverse_roman('MMMDCCCLXXXVIII') == 3888, '3888'
print('Great! It is time to Check your code!');
Jan. 1, 2020
Comments: