intToRoman function

String intToRoman(
  1. int num
)

Converts an integer to its Roman numeral representation.

This function takes an integer num and returns its Roman numeral as a string.

Time Complexity: O(1) (since the number of Roman numeral symbols is constant)

Example:

print(intToRoman(1994)); // Outputs: "MCMXCIV"

Implementation

String intToRoman(int num) {
  final val = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
  final syms = [
    "M",
    "CM",
    "D",
    "CD",
    "C",
    "XC",
    "L",
    "XL",
    "X",
    "IX",
    "V",
    "IV",
    "I",
  ];
  final sb = StringBuffer();
  for (int i = 0; i < val.length && num > 0; i++) {
    while (num >= val[i]) {
      num -= val[i];
      sb.write(syms[i]);
    }
  }
  return sb.toString();
}