-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathintegerToRoman.py
More file actions
35 lines (33 loc) · 834 Bytes
/
integerToRoman.py
File metadata and controls
35 lines (33 loc) · 834 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Solution(object):
def intToRoman(self, num):
"""
:type num: int
:rtype: str
"""
array = [];
kvp = {
1 : 'I',
4 : 'IV',
5 : 'V',
9 : 'IX',
10 : 'X',
40 : 'XL',
50 : 'L',
90 : 'XC',
100 : 'C',
400 : 'CD',
500 : 'D',
900 : 'CM',
1000 : 'M'
};
if num in kvp:
return kvp[num];
else:
sum = '';
array = list(kvp.keys());
array.sort();
for i in range(len(array)-1 , -1, -1):
while array[i] <= num:
sum += kvp[array[i]];
num -= array[i];
return sum