로마에서 쓰던 로마숫자가 있는데 이를 지금쓰는 숫자로 바꾸는 문제이다. 이 문제에서의 가장 큰 어려움은 대부분의 로마 숫자는 하나의 값으로 치환되어 처리되어 더하면 되지만, 가끔
IV와 같이두개를 묶어 계산해줄 필요가 있는 값들이 있다.


빈리스트를 만들어서 로마숫자로 들어온값이 만약 혼자 계산할 값이면 바로 리스트에 집어넣고 같이 묶어서 계산할 값이면 묶어서 리스트에 집어넣었다.
그러면 그 리스트의 로마 숫자들은 각각 계산하는 단위가 되는데, 이 리스트안에 들어있는 값(로마숫자)들을 현재 숫자로 바꿔 더하면 된다.
class Solution:
def romanToInt(self, s: str) -> int:
dic = {"M": 1000, "D": 500, "C": 100, "L": 50, "X": 10, "V": 5, "I": 1}
letters = []
for i, letter in enumerate(s):
if i == 0 or len(letters[-1]) == 2:
letters.append(letter)
# 가장 최근꺼의 값보다 지금 값이 더 크면 letters의 값을 둘이 합친 글자로 넣어줌
elif dic[letters[-1]] < dic[letter]:
letters[-1] = letters[-1] + letter
# 가장 최근꺼 값이 지금 값보다 작거나 같으면 그냥 새로운 값을 letters에 추가해줌
elif dic[letters[-1]] >= dic[letter]:
letters.append(letter)
sum = 0
for letter in letters:
if len(letter) == 1:
sum += dic[letter]
elif len(letter) == 2:
sum += dic[letter[1]] - dic[letter[0]]
return sum