Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | class Solution: def intToRoman(self, num): """ :type num: int :rtype: str """ I = [‘‘, ‘I‘, ‘II‘, ‘III‘, ‘IV‘, ‘V‘, ‘VI‘, ‘VII‘, ‘VIII‘, ‘IX‘] X = [‘‘, ‘X‘, ‘XX‘, ‘XXX‘, ‘XL‘, ‘L‘, ‘LX‘, ‘LXX‘, ‘LXXX‘, ‘XC‘] C = [‘‘, ‘C‘, ‘CC‘, ‘CCC‘, ‘CD‘, ‘D‘, ‘DC‘, ‘DCC‘, ‘DCCC‘, ‘CM‘] M = [‘‘, ‘M‘, ‘MM‘, ‘MMM‘] thousand = num // 1000 houndred = (num % 1000) // 100 ten = (num % 100) // 10 digit = num % 10 return M[thousand] + C[houndred] + X[ten] + I[digit]s = Solution()# num = 1# num = 19# num = 99# num = 100num = 409#num = 1999res = s.intToRoman(num)print(res) |