class Solution {
private:
unordered_map<int,string>hash={
{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"},
};
public:
string intToRoman(int num) {
string res;
for(auto it=hash.begin();it!=hash.end();it++){
while(num>=(it->first)){
num-=it->first;
res+=it->second;
}
if(num==0){
break;
}
}
return res;
}
};