public int romanToInt(String s) {

    int sum = 0;

    Map<Character, Integer> map = new HashMap<Character, Integer>();
    map.put('I', 1);
    map.put('V', 5);
    map.put('X', 10);
    map.put('L', 50);
    map.put('C', 100);
    map.put('D', 500);
    map.put('M', 1000);

    int i;
    for (i = 0 ; i < s.length() - 1 ; i++) {
      char curt = s.charAt(i);
      char next = s.charAt(i + 1);

      int curtVal = map.get(curt);
      int nextVal = map.get(next);

      if (curtVal < nextVal) {
        sum += (nextVal - curtVal);
        i++;
      } else {
        sum += curtVal;
      }
    }

    if (i == s.length() - 1) {
      sum += map.get(s.charAt(s.length() - 1));
    }
    return sum;
  }