Skip to main content

12. Integer to Roman

https://leetcode.com/problems/integer-to-roman/

Python

from collections import OrderedDict

class Solution:
def intToRoman(self, num: int) -> str:
mapper = OrderedDict({
1000: 'M',
900: 'CM',
500: 'D',
400: 'CD',
100: 'C',
90: 'XC',
50: 'L',
40: 'XL',
10: 'X',
9: 'IX',
5: 'V',
4: 'IV',
1: 'I',
})

digits = []
for n, digit in mapper.items():
if not num:
break
count, num = divmod(num, n)
digits.append(digit * count)
return ''.join(digits)