[LeetCode] Roman to Integer

동스토리 ㅣ 2021. 8. 8. 15:42

반응형

안녕하세요.

 

LeetCode 13번 Roman to Integer 문제풀이 하겠습니다.

 

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

 

Roman to Integer - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

[문제]

[TestCase]

 

[해설]

- 리스트를 만든다

- s의 첫번째 인덱스와 다음 인덱스를 비교해가면서

s[i]  >= s[i+1] 일 경우 인덱스를 더해주고

s[i] < s[i+1] 일 경우 인덱스를 빼준다

- 최종적으로 마지막 인덱스를 더해준다.

 

[코드]

class Solution:
    def romanToInt(self, s: str) -> int:
        R_list = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
        
        result =0
        for i in range(len(s)-1):
            num = R_list[s[i]]
            nextnum = R_list[s[i+1]]
            
            #s[i] >= s[i+1]
            if num>=nextnum:
                result +=num
            #s[i] < s[i+1]
            else:
                result -=num
        
        # s의 마지막 인덱스 더하기
        result += R_list[s[len(s)-1]]
        
        return result

 

 

감사합니다.

반응형

'Development > Algorithm' 카테고리의 다른 글

[LeetCode] Remove Duplicates from Sorted Array  (0) 2021.08.22
[LeetCode] Merge Two Sorted Lists  (0) 2021.08.17
[LeetCode] Palindrome Number  (0) 2021.08.07
[LeetCode] Reverse Integer  (0) 2021.08.06
[LeetCode] Add Two Numbers  (0) 2021.08.04