# [CodeWars] Roman Numerals Encoder

Create a function taking a positive integer as its parameter and returning a string containing the Roman Numeral representation of that integer.

Modern Roman numerals are written by expressing each digit separately starting with the left most digit and skipping any digit with a value of zero. In Roman numerals 1990 is rendered: 1000=M, 900=CM, 90=XC; resulting in MCMXC. 2008 is written as 2000=MM, 8=VIII; or MMVIII. 1666 uses each Roman symbol in descending order: MDCLXVI.

Example

 solution(1000); // should return “M” cs

Help

```Symbol-Value
I-1    V-5
X-10    L-50
C-100    D-500
M-1,000```

Remember that there can’t be more than 3 identical symbols in a row.

### My Solution

 string solution(int number){    string result;    int numbers[13] = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };    string romanNumbers[13] = { “M”, “CM”, “D”, “CD”, “C”, “XC”, “L”, “XL”, “X”, “IX”, “V”, “IV”, “I” };    for(int numberIdx = 0; numberIdx < 13; ++numberIdx)    {        if(number/numbers[numberIdx] > 0)        {            for (int j = 0; j < number / numbers[numberIdx]; ++j) {                result += romanNumbers[numberIdx];            }            number %= numbers[numberIdx];        }    }    return result;}Colored by Color Scripter cs

Because 4 and 9 in Roman numerals were unique cases, 4 and 9 in all digits were grouped separately and applied to the arrangement. The rest is the same as the algorithm for digits.

## 글쓴이: BakJH

Student of Daedeok SW Meister Highschool, in Korea.