12.js
/** ------------------------------------------------------------------------------
*
* 12. Integer to Roman
* Topics: Hash Table
* https://leetcode.com/problems/integer-to-roman/description/
*
------------------------------------------------------------------------------ */
/**
* 신박한 풀이
*/
const roman = {
M: 1000,
CM: 900,
D: 500,
CD: 400,
C: 100,
XC: 90,
L: 50,
XL: 40,
X: 10,
IX: 9,
V: 5,
IV: 4,
I: 1,
}
/**
* @param {number} num
* @return {string}
*/
var intToRoman = function (num) {
if (num === 0) return ""
let answer = ""
for (const [key, value] of Object.entries(roman)) {
let remain = Math.floor(num / value)
answer += key.repeat(remain)
num = num % value
}
return answer
}
console.log()