"Integer to Roman" Problem and its Solution | C# | Unity Game Engine


Solution.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Solution : MonoBehaviour
{
    public int number = 1;

    void Start()
    {
        Debug.Log("Roman => "+IntToRoman(number));
    }

    public string IntToRoman(int num)
    {
        var lookup = new Dictionary<int, string>
        {
            {1000, "M"},{900, "CM"},{500, "D"},{400, "CD"},{100, "C"},{90, "XC"},
            {50, "L"},{40, "XL"},{10, "X"},{9, "IX"},{5, "V"},{4, "IV"},{1, "I"}
        };

        string result = "";
        foreach (var pair in lookup)
        {
            if (num <= 0)
                break;
            int quotient = num / pair.Key;
            for (int j = 0; j < quotient; j++)
            {
                num -= pair.Key;
                result += pair.Value;
            }
        }
        return result;
    }
}