Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Roman Numerals by marcopunteri
T,H,D,U = 0,1,2,3
translation = {
T : ['','M','MM','MMM'],
H : ['','C','CC','CCC','CD','D','DC','DCC','DCCC','CM'],
D : ['','X','XX','XXX','XL','L','LX','LXX','LXXX','XC'],
U : ['','I','II','III','IV','V','VI','VII','VIII','IX']
}
def checkio(data):
res = ''
data = str(data).rjust(4,'0')
t,h,d,u = [int(l) for l in data]
return ''.join(translation[pos][l] for pos,l in enumerate([t,h,d,u]))
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'
print('Done! Go Check!')
April 18, 2021
Comments: