12 - Integer to Roman

 JAVA

  • class Solution {
        public String intToRoman(int num) {
            List<String> cs
                = List.of("M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I");
            List<Integer> vs = List.of(1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1);
            StringBuilder ans = new StringBuilder();
            for (int i = 0, n = cs.size(); i < n; ++i) {
                while (num >= vs.get(i)) {
                    num -= vs.get(i);
                    ans.append(cs.get(i));
                }
            }
            return ans.toString();
        }
    }
C++

  • class Solution {
    public:
        string intToRoman(int num) {
            vector<string> cs = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
            vector<int> vs = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
            string ans;
            for (int i = 0; i < cs.size(); ++i) {
                while (num >= vs[i]) {
                    num -= vs[i];
                    ans += cs[i];
                }
            }
            return ans;
        }
    };

Comments