Leetcode 13. Roman to Integer with Python

Alpha, Orderly·2023년 1월 16일
0

leetcode

목록 보기
31/90
post-thumbnail

문제

주어진 정수를 로마숫자로 변환하시오

예시

Input: num = 3
Output: "III"

Input: num = 58
Output: "LVIII"

Input: num = 1994
Output: "MCMXCIV"

제한

  • 1 <= num <= 3999

풀이

구현문제

class Solution:
    def intToRoman(self, num: int) -> str:
        ths = ['', 'M', 'MM', 'MMM']
        hnd = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM']
        ten = ['', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC']
        one = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']
        a = ''
        for i in range(3, -1, -1):
            if i == 3:
                a = a + ths[num//(10**i)]
            elif i == 2:
                a = a + hnd[(num//(10**i)) % 10] 
            elif i == 1:
                a = a + ten[(num//(10**i)) % 10]
            elif i == 0:
                a = a + one[(num//(10**i)) % 10]
        return a
profile
만능 컴덕후 겸 번지 팬

0개의 댓글