From d9653db004fec2bc845e7619e54dd1dd85f8af93 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sat, 28 Oct 2023 16:14:16 +0530 Subject: [PATCH] Decimal to Roman Conversion Question --- InterviewQuestions/DecimaltoRoman.js | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 InterviewQuestions/DecimaltoRoman.js diff --git a/InterviewQuestions/DecimaltoRoman.js b/InterviewQuestions/DecimaltoRoman.js new file mode 100644 index 0000000..5616166 --- /dev/null +++ b/InterviewQuestions/DecimaltoRoman.js @@ -0,0 +1,53 @@ +// javascript code implementation + +function integerToRoman(num) { + let roman = new Map(); // move outside + roman.set(1, 'I'); + roman.set(5, 'V'); + roman.set(10, 'X'); + roman.set(50, 'L'); + roman.set(100, 'C'); + roman.set(500, 'D'); + roman.set(1000, 'M'); + roman.set(5000, 'G'); + roman.set(10000, 'H'); + + let tmp = Array.from(String(num)); + let numDigits = tmp.length; + + let res = []; + for(let i=0;i= 5) { + res.push(roman.get(5*absolute)); + + let cnt = number-5; + while(cnt--) res.push(roman.get(absolute)); + } + else{ + if (number >= 4) { + res.push(roman.get(absolute)); + res.push(roman.get(5*absolute)); + } + else { + + let cnt = number; + while(cnt--) res.push(roman.get(absolute)); + } + } + } + return res; +} + +let ans = integerToRoman(3549).join(''); +console.log(ans); + +// This code is contributed by Nidhi goel.