Integer To Roman Numeral

Given an integer ‘N’, the task is to find its corresponding Roman numeral.

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

Example :

2 is written as II in the roman numeral, just two one’s added together. 
12 is written as XII, which is simply X(ten) + II(one+one). 
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.
Input Format :
The first line of input contains an integer ‘T’ denoting the number of test cases.
Then the test cases follow.

The only line of each test case contains an integer ‘N’.
Output Format :
For each test case, the only line of output prints the corresponding roman numeral for the given integer ‘N’.
Note:
You do not need to print anything, it has already been taken care of. Just implement the given function.
Constraints:
1 <= T <= 10^2
1 <= N <= 4*10^3 - 1

Time Limit : 1 sec
CodingNinjas
author
2y

A lookup table can be used to map the digit with its corresponding Roman numeral. Next, traverse the lookup table in descending order of the keys and keep inserting the appropriate numeral as many tim...read more

CodingNinjas
author
2y
Brute Force

The idea is to convert each digit present at units, tens, hundreds and thousands places of the given number into roman numerals separately. Also, the conversion of some digits are a little ...read more

CodingNinjas
author
2y
HashMap

In this approach, we will use the most significant digit (MSD) in the number. For example, in 1234, the most significant digit is 1, and for 345, it will be 3. To get this most significant digi...read more

CodingNinjas
author
2y
Optimised Approach

It is mentioned in the problem statement that the number can’t be greater than 3999, i.e. it can have a maximum of 4 digits. So we will use this information to solve the problem.

Her...read more

Add answer anonymously...
PayPal Software Engineer Interview Questions
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions
Get AmbitionBox app

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter