Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Simple solution in Speedy category for Roman Numerals by icoz
N = [['','M','MM','MMM'],
['','C','CC','CCC','CD','D','DC','DCC','DCCC','CM'],
['','X','XX','XXX','XL','L','LX','LXX','LXXX','XC'],
['','I','II','III','IV','V','VI','VII','VIII','IX']]
def checkio(data):
s = '{:04}'.format(data)
num = [(N[i][int(s[i])]) for i in range(4)]
return ''.join(num)
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio(6) == 'VI', '6'
assert checkio(76) == 'LXXVI', '76'
assert checkio(499) == 'CDXCIX', '499'
assert checkio(3888) == 'MMMDCCCLXXXVIII', '3888'
April 10, 2015