**Tell us what’s happening:**

Why are the “helpful hints” for the challenge so different to code solutions given?

I’ve spent a while typing out the code below (my fault), but felt there must be a better way.

Looking at even the basic solution, its so elegant yet there is no where that tells you how to write elegant code.

I guess I just want to rant.

But also want to ask, where can I learn about writing good code and coming up with elegant solutions?

**Your code so far**

```
function convertToRoman(num) {
var numArr=[];
var romArr=[];
numArr=num.toString().split("");
var ones=numArr[numArr.length-1];
var romOnes=0;
if (ones==0) {
romOnes="";
} else if (ones>0 & ones<4) {
romOnes="I";
for (i=0; i<ones-1; i++) {
romOnes = romOnes + "I";
}
} else if (ones==4) {
romOnes="IV";
} else if (ones==5) {
romOnes="V";
} else if (ones>5 && ones<9) {
romOnes="V";
for (i=0; i<ones-5; i++) {
romOnes = romOnes + "I";
}
} else if (ones==9) {
romOnes="IX";
}
if (numArr.length>1) {
var tens=numArr[numArr.length-2];
var romTens=0;
if (tens==0) {
romTens="";
} else if (tens>0 & tens<4) {
romTens="X";
for (i=0; i<tens-1; i++) {
romTens = romTens + "X";
}
} else if (tens==4) {
romTens="XL";
} else if (tens==5) {
romTens="L";
} else if (tens>5 && tens<9) {
romTens="L";
for (i=0; i<tens-5; i++) {
romTens = romTens + "X";
}
} else if (tens==9) {
romTens="XC";
}
}
if (numArr.length>2) {
var hundreds=numArr[numArr.length-3];
var romHundreds=0;
if (hundreds==0) {
romHundreds="";
} else if (hundreds>0 & hundreds<4) {
romHundreds="C";
for (i=0; i<hundreds; i++) {
romHundreds = romHundreds + "C";
}
} else if (hundreds==4) {
romHundreds="CD";
} else if (hundreds==5) {
romHundreds="D";
} else if (hundreds>5 && hundreds<9) {
romHundreds="D";
for (i=0; i<hundreds-5; i++) {
romHundreds = romHundreds + "C";
}
} else if (hundreds==9) {
romHundreds="CM";
}
}
return num;
}
convertToRoman(99);
```

**Your browser information:**

Your Browser User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36`

.

**Link to the challenge:**

https://www.freecodecamp.org/challenges/roman-numeral-converter