Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
two one-liners solution in Clear category for Reverse Roman Numerals by StefanPochmann
def reverse_roman(s):
return sum(10**i * (s.count(a) + 5 * s.count(b)- 2 * ((a + b) in s or (a + c) in s))
for i, (a, b, c) in enumerate('IVX XLC CDM M--'.split()))
def reverse_roman(s):
return sum(s.count(x) * y for x, y in
(('I', 1), ('V', 5), ('X', 10), ('L', 50), ('C', 100), ('D', 500), ('M', 1000),
('IV', -2), ('IX', -2), ('XL', -20), ('XC', -20), ('CD', -200), ('CM', -200)))
July 15, 2017
Comments: