Algorithm | Code Kata #6

Wook·2021년 12월 6일
0

Algorithm | Code Kata

목록 보기
6/21

로마자(문자열)를 인자로 받아 그에 해당하는 수를 반환하는 문제이다. 로마자의 정해진 규칙(첫자리가 4 혹은 9일 경우)의 패턴을 살피다 보니 문제를 풀 수 있었다.


📲 My Code

function romanToNum(s) {
  const romeDic = {
    'I': 1,
    'V': 5,
    'X': 10,
    'L': 50,
    'C': 100,
    'D': 500,
    'M': 1000 
  }
  let result = 0
  let sSplit = s.split('')
  let numArr = sSplit.map(rome => romeDic[rome])

  for (let i=0; i<numArr.length; i++) {
    if (numArr[i] < numArr[i+1]){
      result-=numArr[i]
    }
    else {
      result+=numArr[i]
    }
  }
  return result;


}

느낀 점

문제에서 요구하는 점이 무엇인지를 정확히 파악하는 것이 가장 빠른 길을 안내한다고 느꼈다. 처음에는 문제를 제대로 이해하지 못하였기에 접근을 돌아가는 길로 잡았지만, 문제를 3번 정도 더 읽고 나니 정해진 규칙(4와 9의 앞자리를 가지는 경우에만 해당 문자의 앞의 값의 해당하는 값을 빼주면 된다.)을 알고 나니 속전속결로 코드를 짜 문제를 풀 수 있었다. 앞으로도 꼭 지문을 꼼꼼히 잘 읽도록 하자.

profile
지속적으로 성장하고 발전하는 진취적인 태도를 가진 개발자의 삶을 추구합니다.

0개의 댓글