package miscellaneous; import java.util.LinkedHashMap; import java.util.Map; public class IntegerToRomanNumber { public static void main(String[] args) { new IntegerToRomanNumber(); } private Map<Integer, String> init() { Map<Integer, String> m = new LinkedHashMap<Integer, String>(); m.put(100, "C"); m.put(90, "XC"); m.put(50, "L"); m.put(40, "XL"); m.put(10, "X"); m.put(9, "IX"); m.put(5, "V"); m.put(4, "IV"); m.put(1, "I"); return m; } public IntegerToRomanNumber() { Map<Integer, String> map = init(); System.out.println(getRomanEquivalent(208, map)); } private String getRomanEquivalent(int number, Map<Integer, String> map){ if(number<=0) return ""+number; if(map.containsKey(number)) return (String)map.get(number); String str = ""; for (Map.Entry<Integer, String> entry : map.entrySet()) { int key = entry.getKey(); while(key<=number){ str = str + entry.getValue(); number = number - key; } } return str; } }
Questions on Stack, Queues, Linkedlist, Binary Trees, Sorting, Searching, Graphs etc with solution using Java Language.
Wednesday, 24 December 2014
Integer to Roman Number Representation
Labels:
miscellaneous
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment