0%

12. Integer to Roman

O(1)

1
2
3
4
5
6
7
8
M = ['', 'M', 'MM', 'MMM']
C = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM']
X = ['', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC']
I = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']

class Solution:
def intToRoman(self, num: int) -> str:
return M[num // 1000] + C[num % 1000 // 100] + X[num % 100 // 10] + I[num % 10]
1
2
3
4
5
6
7
8
9
10
11
string M[] = {"", "M", "MM", "MMM"};
string C[] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
string X[] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
string I[] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};

class Solution {
public:
string intToRoman(int num) {
return M[num / 1000] + C[num % 1000 / 100] + X[num % 100 / 10] + I[num % 10];
}
};