로마에서 정수로
I , V , X , L , C , D 및 M 의 7가지 기호로 표시됩니다.기호 값
나는 1
V 5
× 10
L 50
씨 100
디 500
남 1000
예를 들어,
2는 로마 숫자로 II로 표시되며, 1을 두 개만 더하면 됩니다. 12는 XII로 작성되며 간단히 X + II입니다. 숫자 27는 XXVII로 쓰여지며, 이는 XX + V + II입니다.로마 숫자는 일반적으로 왼쪽에서 오른쪽으로 큰 순서로 씁니다. 그러나 4의 숫자는
IIII가 아닙니다. 대신, 숫자 4는 IV로 쓰여집니다. 1이 5보다 앞에 있기 때문에 빼면 4가 됩니다. 같은 원리가 IX로 쓰여진 숫자 9에도 적용됩니다. 빼기가 사용되는 경우는 6가지입니다.I는 V (5)와 X (10) 앞에 배치되어 4와 9를 만들 수 있습니다. X는 L (50) 및 C (100) 앞에 배치되어 40 및 90을 만들 수 있습니다. C를 D (500) 및 M (1000) 앞에 배치하여 400 및 900을 만들 수 있습니다. 로마 숫자가 주어지면 정수로 변환하십시오.
예 1:
입력: s = "III"
출력: 3
설명: III = 3.
예 2:
입력: s = "LVIII"
출력: 58
설명: L = 50, V= 5, III = 3.
예 3:
입력: s = "MCMXCIV"
산출: 1994년
설명: M = 1000, CM = 900, XC = 90 및 IV = 4.
제약:
1 <= s.length <= 15 s에는 ('I', 'V', 'X', 'L', 'C', 'D', 'M') 문자만 포함됩니다. s가 [1, 3999] 범위의 유효한 로마 숫자임을 보장합니다. 해결책:
class Solution:
def romanToInt(self, s: str) -> int:
sym = {
"I": 1,
"V": 5,
"X": 10,
"L": 50,
"C": 100,
"D": 500,
"M": 1000
}
n = len(s)
val = 0
for i in range(n):
if i < n - 1 and sym[s[i]] < sym[s[i + 1]]:
val -= sym[s[i]]
else:
val += sym[s[i]]
return val
Reference
이 문제에 관하여(로마에서 정수로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theabbie/roman-to-integer-2k67텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)