class Solution {
public String intToRoman(int num) {
int numCopy = num;
String value = "";
int index = 6;
int[] nums = new int[7];
String[] str = new String[7];
nums[0] = 1;
str[0] = "I";
nums[1] = 5;
str[1] = "V";
nums[2] = 10;
str[2] = "X";
nums[3] = 50;
str[3] = "L";
nums[4] = 100;
str[4] = "C";
nums[5] = 500;
str[5] = "D";
nums[6] = 1000;
str[6] = "M";
while(numCopy>0) {
for(int i=index;i>=0;i--){
if(i%2==0) {
if(numCopy>=nums[i]) {
numCopy = numCopy-nums[i];
value+=str[i];
index = i;
break;
}else if(i>0) {
if(numCopy>=(nums[i-1]+4*nums[i-2])) {
numCopy = numCopy-(nums[i-1]+4*nums[i-2]);
value+=str[i-2];
value+=str[i];
}
}
}else {
if(numCopy>=nums[i]) {
numCopy = numCopy-nums[i];
value+=str[i];
index = i;
break;
}else {
if(numCopy>=(4*nums[i-1])) {
numCopy = numCopy-4*nums[i-1];
value+=str[i-1];
value+=str[i];
index = i;
break;
}
}
}
}
}
return value;
}
}