5/09/2020

[LeetCode] 12. Integer to Roman

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

Create mapper array to map number to symbol

Time Complexity : O (log(num))
Space Complexity: O(log(num))




class Solution(object):
    def intToRoman(self, num):
        """
        :type num: int
        :rtype: str
        """
        
        romans = [(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')]
        
        result = ""

        for base, symbol in romans:
            if num >= base:
                result += symbol * (num // base)
                num = num % base

        return result

No comments:

Post a Comment