12. Integer to Roman (Medium) - TengnanYao/daily_leetcode GitHub Wiki

class Solution(object):
    def intToRoman(self, num):
        """
        :type num: int
        :rtype: str
        """
        s = ["I", "V", "X"], ["X", "L", "C"], ["C", "D", "M"], ["M", ":O", ":o"](/TengnanYao/daily_leetcode/wiki/"I",-"V",-"X"],-["X",-"L",-"C"],-["C",-"D",-"M"],-["M",-":O",-":o")
        i = 0
        result = ""
        while num > 0:
            r = num % 10
            if r <= 3:
                result = s[i][0] * r + result
            elif r == 4:
                result = s[i][0] + s[i][1] + result
            elif r == 5:
                result = s[i][1] + result
            elif r <= 8:
                result = s[i][1] + s[i][0] *(r - 5) + result
            else:
                result = s[i][0] + s[i][2] + result
            num //= 10
            i += 1
        return result