Files
LeetCode/Easy/roman-to-integer/Solution.java
Arkaprabha Chakraborty cef4c4dcc4 Initial commit
2022-07-26 16:15:18 +05:30

56 lines
1.6 KiB
Java

class RomanToInteger {
int applyOffset(int value, int last_value, int offset) {
if (last_value > value) {
return offset - value;
} else {
return offset + value;
}
}
public int romanToInt(String roman) {
int integer = 0;
int last_value = 0;
for (int x = roman.length() - 1; x >= 0; x--) {
char convertToDecimal = roman.charAt(x);
switch (convertToDecimal) {
case 'M':
integer = applyOffset(1000, last_value, integer);
last_value = 1000;
break;
case 'D':
integer = applyOffset(500, last_value, integer);
last_value = 500;
break;
case 'C':
integer = applyOffset(100, last_value, integer);
last_value = 100;
break;
case 'L':
integer = applyOffset(50, last_value, integer);
last_value = 50;
break;
case 'X':
integer = applyOffset(10, last_value, integer);
last_value = 10;
break;
case 'V':
integer = applyOffset(5, last_value, integer);
last_value = 5;
break;
case 'I':
integer = applyOffset(1, last_value, integer);
last_value = 1;
break;
}
}
return integer;
}
}