본문 바로가기
Coding Test/Hash Table

[LeetCode] 12. Integer to Roman

by 헤이즐넛 좋아하는 개발자 2025. 1. 25.

I. Description


II. Code

class Solution:
    def intToRoman(self, num: int) -> str:
        res = 'M' * (num // 1000)
        num %= 1000
        
        val = num // 100
        if val == 9:
            res += 'CM'
        elif val == 4:
            res += 'CD'
        else:
            res += 'D' * (val // 5) + 'C' * (val % 5)
        num %= 100
        
        val = num // 10
        if val == 9:
            res += 'XC'
        elif val == 4:
            res += 'XL'
        else:
            res += 'L' * (val // 5) + 'X' * (val % 5)
        num %= 10
        
        if num == 9:
            res += 'IX'
        elif num == 4:
            res += 'IV'
        else:
            res += 'V' * (num // 5) + 'I' * (num % 5)
        return res

4와 9라는 특수한 상황을 잘 고려해가며 코드를 작성하였다.