Menu
CoddyTech

Roman to Integer

罗马数字使用 7 个符号:I = 1,V = 5,X = 10,L = 50,C = 100,D = 500,M = 1000。除 6 种减法组合外,符号按从大到小的顺序书写并相加。在这 6 种组合中,较小的符号写在前面,并从较大的符号中减去:IV = 4,IX = 9,XL = 40,XC = 90,CD = 400,CM = 900。

给你一个有效的罗马数字 s。返回它所表示的整数。

函数

romanToInt(s: string) → integer
sstring
一个有效的大写罗马数字
返回值integer
数字的值,范围为 1 到 3999

约束条件

  • 1 ≤ s.length ≤ 15
  • s 只包含字符 I、V、X、L、C、D 和 M。
  • s 是表示 1 到 3999 之间某个值的有效罗马数字。

示例

输入
s = "XXVII"
输出
27
解释
XX 是 10 + 10,V 是 5,II 是 1 + 1,所以总数是 27。没有符号后面跟着更大的符号,因此每个符号都会相加。
challenge icon

进阶

你能写出相反的转换吗?把一个 1 到 3999 之间的整数转换成罗马数字。

重置代码
def romanToInt(s):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

s = "XXVII"

预期输出

27