Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Reverse Roman Numerals by mdroz
def reverse_roman(roman_string):
roman_alb = ["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]
our_alb = [1000,900,500,400,100,90,50,40,10,9,5,4,1]
data = []
i=0
sum=0
x=0
for c in range(len(roman_string)):
c=c+i
if c < len(roman_string)-1:
if roman_string[c]+roman_string[c+1] =="CM" or roman_string[c]+roman_string[c+1] =="CD" or roman_string[c]+roman_string[c+1] =="XC" or roman_string[c]+roman_string[c+1] =="XL" or roman_string[c]+roman_string[c+1] =="IX" or roman_string[c]+roman_string[c+1] =="IV":
data.append(roman_string[c]+roman_string[c+1])
i+=1
else:
data.append(roman_string[c])
if c == len(roman_string)-1:
data.append(roman_string[c])
for a in roman_alb:
x = data.count(a)
sum+=our_alb[roman_alb.index(a)]*x
return sum
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert reverse_roman('CDLXXIII') == 3999, '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!');
Nov. 15, 2017