12. Integer to Roman

class Solution {
public:
    string intToRoman(int num)
    {
        vector<pair<int, string>> symbols = {
            {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 roman;
        for (auto symbol : symbols)
        {
            while (num >= symbol.first)
            {
                num -= symbol.first;
                roman += symbol.second;
            }
        }
        return roman;

    }
};
  • T: O(N)O(N)
  • S: O(1)O(1)