반응형
안녕하세요.
LeetCode 13번 Roman to Integer 문제풀이 하겠습니다.
https://leetcode.com/problems/roman-to-integer/
[문제]
[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 |