Skip to content

Instantly share code, notes, and snippets.

@Shaikot007
Last active July 12, 2021 11:26
Show Gist options
  • Save Shaikot007/50600072b5d517dbebf9c0a65181895c to your computer and use it in GitHub Desktop.
Save Shaikot007/50600072b5d517dbebf9c0a65181895c to your computer and use it in GitHub Desktop.
Roman numeral converter. (freeCodeCamp JavaScript algorithms and data structures challenge)
function convertToRoman(num) {
var englishArray = [1000000, 500000, 100000, 50000, 10000, 5000, 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
var romanArray = ["M̄", "D̄", "C̄", "L̄", "X̄", "V̄", "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"];
var Roman = "";
for (var i=0; i<=englishArray.length; i++) {
while (num%englishArray[i] < num) {
Roman += romanArray[i];
num -= englishArray[i];
}
};
return Roman;
};
convertToRoman(2);
// should return "II".
// convertToRoman(3);
// should return "III".
// convertToRoman(4);
// should return "IV".
// convertToRoman(5);
// should return "V".
// convertToRoman(9);
// should return "IX".
// convertToRoman(12);
// should return "XII".
// convertToRoman(16);
// should return "XVI".
// convertToRoman(29);
// should return "XXIX".
// convertToRoman(44);
// should return "XLIV".
// convertToRoman(45);
// should return "XLV"
// convertToRoman(68);
// should return "LXVIII"
// convertToRoman(83);
// should return "LXXXIII"
// convertToRoman(97);
// should return "XCVII"
// convertToRoman(99);
// should return "XCIX"
// convertToRoman(400);
// should return "CD"
// convertToRoman(500);
// should return "D"
// convertToRoman(501);
// should return "DI"
// convertToRoman(649);
// should return "DCXLIX"
// convertToRoman(798);
// should return "DCCXCVIII"
// convertToRoman(891);
// should return "DCCCXCI"
// convertToRoman(1000);
// should return "M"
// convertToRoman(1004);
// should return "MIV"
// convertToRoman(1006);
// should return "MVI"
// convertToRoman(1023);
// should return "MXXIII"
// convertToRoman(2014);
// should return "MMXIV"
// convertToRoman(3999);
// should return "MMMCMXCIX"
// freeCodeCamp javaScript algorithms and data structures challenge link is given below:
// https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment