본문 바로가기
Coding Test/LeetCode

[Javascript] (LeetCode) 13. Roman to Integer (Easy)

by Chaedie 2022. 8. 8.
728x90

[Javascript] (LeetCode) 13. Roman to Integer (Easy)

💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.

내 풀이

/**
 * @param {string} s
 * @return {number}
 */
var romanToInt = function(s) {
  const baseArray = {
    'IV': -2,
    'IX': -2,
    'XL': -20,
    'XC': -20,
    'CD': -200,
    'CM': -200
  }

  const romanNums = {
    'I': 1,
    'V': 5,
    'X': 10,
    'L': 50,
    'C': 100,
    'D': 500,
    'M': 1000
  }

  // 걍 다더해
  // 예외케이스 나오면 4(6) 9(11) 

  let result = 0
  s.split('').forEach((x) => {
    result += romanNums[x]
  })

  let minusNum = 0
  for (let k in baseArray) {
    if (s.indexOf(k) !== -1) {
      result += baseArray[k]
    }
  }

  return result;
};
  • 위코드 알고리즘 코드카타에 똑같은 문제가 나와서 예외케이스 보고싶어서 돌려봤습니다.
  • 예외케이스의 문자가 하나만 나오지 않을것 같아서 틀릴줄알았는데, 로만자에서 예외케이스가 여러개 나오지 않나봐요. 되네요.
  • 맞아서 기분이 좀 이상한 풀이였습니다.

댓글