-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0012. Integer to Roman
84 lines (76 loc) · 2.42 KB
/
0012. Integer to Roman
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
class Solution {
public String intToRoman(int num) {
String[] num0_9 = new String[]{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
String[] num10_90 = new String[]{"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
String[] num100_900 = new String[]{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
String[] num1000_3000 = new String[]{"", "M", "MM", "MMM"};
return num1000_3000[num / 1000] + num100_900[(num % 1000) / 100] + num10_90[(num % 100) / 10] + num0_9[(num % 10) / 1];
}
// public String intToRoman(int num) {
// StringBuilder sb = new StringBuilder();
// if(num >= 1000){
// int sum1000 = num / 1000;
// num -= 1000 * sum1000;
// while(sum1000 != 0){
// sb.append("M");
// sum1000 --;
// }
// }
// if(num >= 900){
// sb.append("CM");
// num -= 900;
// }
// if(num >= 500){
// sb.append("D");
// num -= 500;
// }
// if(num >= 400){
// sb.append("CD");
// num -= 400;
// }
// if(num >= 100){
// int sum100 = num / 100;
// num -= 100 * sum100;
// while(sum100 != 0){
// sb.append("C");
// sum100 --;
// }
// }
// if(num >= 90){
// sb.append("XC");
// num -= 90;
// }
// if(num >= 50){
// sb.append("L");
// num -= 50;
// }
// if(num >= 40){
// sb.append("XL");
// num -= 40;
// }
// if(num >= 10){
// int sum10 = num / 10;
// num -= sum10 * 10;
// while(sum10 != 0){
// sb.append("X");
// sum10 --;
// }
// }
// if(num == 9){
// sb.append("IX");
// return sb.toString();
// }
// if(num >= 5){
// sb.append("V");
// num -= 5;
// }
// if(num == 4){
// sb.append("IV");
// return sb.toString();
// }
// for(int i = 0; i < num; i++){
// sb.append("I");
// }
// return sb.toString();
// }
}