In this post, we are going to solve the** 12. Integer to Roman** problem of Leetcode. This problem **12. Integer to Roman** is a Leetcode **medium **level problem. Let’s see code, **12. Integer to Roman**.

**Problem**

Roman numerals are represented by seven different symbols: `I, V, X, L, C, D`

and` M`

.

**Symbol Value**
I 1
V 5
X 10
L 50
C 100
D 500
M 1000

For example, `2`

is written as `II`

in Roman numeral, just two one’s added together. `12`

is written as `XII`

, which is simply `X + II`

. The number `27`

is written as `XXVII`

, which is `XX + V + II`

.

Roman numerals are usually written largest to smallest from left to right. However, the numeral for four is not `IIII`

. Instead, the number four is written as `IV`

. Because the one is before the five we subtract it making four. The same principle applies to the number nine, which is written as `IX`

. There are six instances where subtraction is used:

`I`

can be placed before`V`

(5) and`X`

(10) to make 4 and 9.`X`

can be placed before`L`

(50) and`C`

(100) to make 40 and 90.`C`

can be placed before`D`

(500) and`M`

(1000) to make 400 and 900.

Given an integer, convert it to a roman numeral.

**Example 1 :**

```
Input: num = 3
Output: "III"
Explanation: 3 is represented as 3 ones.
```

**Example 2 :**

```
Input: num = 58
Output: "LVIII"
Explanation: L = 50, V = 5, III = 3.
```

**Example 3 :**

```
Input: num = 1994
Output: "MCMXCIV"
Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.
```

**Constraints**

`1 <= num <= 3999`

Now, let’s see the code of ** 12. Integer to Roman** – Leetcode Solution.

**Integer to Roman** – Leetcode Solution

**Integer to Roman****12. Integer to Roman** – Solution in Java

**– Solution in Java**

**12. Integer to Roman**class Solution { public String intToRoman(int num) { int[] values = {1000,900,500,400,100,90,50,40,10,9,5,4,1}; String[] strs = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; StringBuilder sb = new StringBuilder(); for(int i=0;i<values.length;i++) { while(num >= values[i]) { num -= values[i]; sb.append(strs[i]); } } return sb.toString(); } }

**12. Integer to Roman** – Solution in C++

**C++**

**– Solution in****12. Integer to Roman**class Solution { public: string intToRoman(int num) { string res; string sym[] = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}; int val[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; for(int i=0; num != 0; i++) { while(num >= val[i]) { num -= val[i]; res += sym[i]; } } return res; } };

**12. Integer to Roman** **– Solution in **Python

**Python**

**– Solution in**class Solution(object): def intToRoman(self, num): values = [ 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 ] numerals = [ "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" ] res = "" for i, v in enumerate(values): res += (num//v) * numerals[i] num %= v return res

**Note:** This problem** 12. Integer to Roman** is generated by **Leetcode **but the solution is provided by **CodingBroz**. This tutorial is only for **Educational** and **Learning** purpose.