/** * @param {string} s * @return {number} */ var romanToInt = function(s) { let result = ""; let number = s; let thousand = Math.floor(number/1000); number %= 1000; for (let i = 0; i < thousand; i++) { result += "M"; } let hundred = Math.floor(number/100); number %= 100; for (let i = 0; i < hundred; i++) { if (hundred >= 5 && hundred !== 9) { result += "D"; hundred -= 5; continue; } result += "C"; if (hundred === 4) { result += "D"; break; } if (hundred === 9) { result += "M"; break; } } let tens = Math.floor(number/10); number %= 10; for (let i = 0; i < tens; i++) { if (tens >= 5 && tens !== 9) { result += "L"; tens -= 5; continue; } result += "X"; if (tens === 4) { result += "L"; break; } if (tens === 9) { result += "C"; break; } } let unit = number; for (let i = 0; i < unit; i++) { if (unit >= 5 && unit !== 9) { result += "V"; unit -= 5; continue; } result += "I"; if (unit === 4) { result += "V"; break; } if (unit === 9) { result += "X"; break; } } return result; };
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter