Skip to content

Instantly share code, notes, and snippets.

@pathunstrom
Last active October 21, 2016 05:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pathunstrom/0e449f8e4a45956ad2d71f24e279ef92 to your computer and use it in GitHub Desktop.
Save pathunstrom/0e449f8e4a45956ad2d71f24e279ef92 to your computer and use it in GitHub Desktop.
Algorithm I did for freeCodeCamp
function convertToRoman(num) {
function addSymbols(carrier, val, symbol) {
var returnString = carrier[0];
var startingValue = carrier[1];
for ( ; startingValue >= val; startingValue -= val) {
returnString += symbol;
}
return [returnString, startingValue];
}
var rv = "";
var carrier = [rv, num];
var subs = [[1000, "M"],
[900, "CM"],
[500, "D"],
[100, "C"],
[90, "XC"],
[50, "L"],
[40, "XL"],
[10, "X"],
[9, "IX"],
[5, "V"],
[4, "IV"],
[1, "I"]];
for (var i = 0; i < subs.length; i += 1) {
var sub = subs[i];
carrier = addSymbols(carrier, sub[0], sub[1]);
}
rv = carrier[0];
return rv;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment