이전 문제와 비슷하게 로마 문자를 선언하고 해당 문자에 해당하는 인덱스에 수를 집어넣는다.
해당 문제는 3999
까지의 로마 숫자가 입력으로 주어지기에 복잡한 풀이과정을 사용할 필요가 없음
function romanToInt(s: string): number {
const romanNum = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
const romanSpell = ['M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I'];
let curS = s
let result = 0
for(let i = 0; i < romanSpell.length; i++) {
const curSpell = romanSpell[i]
if(curS[0] === curSpell) {
result += romanNum[i]
curS = curS.slice(1)
i = -1
continue
} else if(curS.slice(0, 2) === curSpell) {
result += romanNum[i]
curS = curS.slice(2)
i = -1
continue
}
}
return result
};