Tell us what’s happening:
I do passed tests through this code. My tests are passed upto convertToRoman(9)
Your code so far
function convertToRoman(num) {
num = num.toString().split()
const len = num.length
let res = []
let res1 = ''
let res2 = ""
let res3 = ""
let res4 = ""
if (len === 0) {
res = []
}
else if (len > 0) {
switch (num[len - 1]) {
case "1":
res1 = "I"
break;
case "2":
res1 = "II"
break;
case "3":
res1 = "III"
break;
case "4":
res1 = "IV"
break;
case "5":
res1 = "V"
break;
case "6":
res1 = "VI"
break;
case "7":
res1 = "VII"
break;
case "8":
res1 = "VIII"
break;
case "9":
res1 = "IX"
break;
}
switch (num[len - 2]) {
case "1":
res2 = "X"
break;
case "2":
res2 = "XX"
break;
case "3":
res2 = "XXX"
break;
case "4":
res2 = "XL"
break;
case "5":
res2 = "L"
break;
case "6":
res2 = "LX"
break;
case "7":
res2 = "LXX"
break;
case "8":
res2 = "LXXX"
break;
case "9":
res2 = "XC"
break;
}
switch (num[len - 3]) {
case "1":
res3 = "C"
break;
case "2":
res3 = "CC"
break;
case "3":
res3 = "CCC"
break;
case "4":
res3 = "CD"
break;
case "5":
res3 = "D"
break;
case "6":
res3 = "DC"
break;
case "7":
res3 = "DCC"
break;
case "8":
res3 = "DCCC"
break;
case "9":
res3 = "CM"
break;
}
switch (num[len - 4]) {
case "1":
res4 = "M"
break;
case "2":
res4 = "MM"
break;
case "3":
res4 = "MMM"
break;
}
}
res.push(res4, res3, res2, res1)
return res.join('')
}
convertToRoman(36);
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188
Challenge: JavaScript Algorithms and Data Structures Projects - Roman Numeral Converter
Link to the challenge: