【Leetcode解題記錄】12. Integer to Roman


Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.

-------

比較簡單,只要瞭解羅馬數字的轉換即可。

對應規則如下:

{"","I","II","III","IV","V","VI","VII","VIII","IX"},

{"","1","2","3","4","5","6","7I","8","9"}

{"","X","XX","XXX","XL","L  ","LX","LXX","LXXX","XC"},
{"","10","20","30  ","40 ","50","60","  70 ","   80  "," 90"},
{"","  C  ","CC","CCC","CD","  D  ","DC","DCC","DCCC","CM"},

{"","100","200","300"," 400","500","600","700","    800  "," 900"},
{"","M    ", "MM  ", " MMM "}

{"","1000","2000","3000"}

public String intToRoman(int num) {
        String s = "";
		
		String[][] list = {
	            {"","I","II","III","IV","V","VI","VII","VIII","IX"},
	            {"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},
	            {"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},
	            {"","M","MM","MMM"}
	        };
		
		s += list[3][num/1000%10];
		s += list[2][num/100%10];
		s += list[1][num/10%10];
		s += list[0][num%10];
		return s;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章