로마자에서 숫자로 바꾸기
1~3999 사이의 로마자 s를 인자로 주면 그에 해당하는 숫자를 반환해주세요. 로마 숫자를 숫자로 표기하면 다음과 같습니다.
Symbol       Value
I             1
V             5
X             10
L             50
C             100
D             500
M             1000
로마자를 숫자로 읽는 방법은 로마자를 왼쪽부터 차례대로 더하면 됩니다. III = 3 XII = 12 XXVII = 27 입니다.
그런데 4를 표현할 때는 IIII가 아니라 IV 입니다. 뒤의 숫자에서 앞의 숫자를 빼주면 됩니다. 9는 IX입니다.
I는 V와 X앞에 와서 4, 9 X는 L, C앞에 와서 40, 90 C는 D, M앞에 와서 400, 900
let s = "IV"
function romanToNum(s) {
  const obj={
    I : 1,
    V : 5,
    X : 10,
    L : 50,
    C : 100,
    D : 500,
    M : 1000
  };
  let num = 0;
  for(let i=0; i<s.length; i++){
    let num1 = obj[s[i]]
    let num2 = obj[s[i+1]]
    if(num1 < num2){
      num -= num1;
    } else {
      num += num1;
    }
  }
  return num;
}
//결과값 -> 4
obj이라는 객체를 만들어줘서 key값에는 로마자를 value에는 숫자를 넣어줍니다.num이라는 변수를선언해 0을 넣어 초기화 해줍니다.num1에는 obj의 0인덱스부터 시작하도록 넣어주고 num2은 인덱스 +1을 해서 1인덱스부터 시작하도록넣어줍니다.if 조건문은 num1이 num2보다 작을경우 num값에 마이너스를 해주고 그외의 상황에는 num 변수에 num+ num1을 더해줍니다.처음 방향을 잘못잡고 코드를 치게되면 잘못된 방향으로만 계속 달리게 되는거 같다 앞으로는 코드를 치기전에 어떤 방식과 순서로 풀어나갈지 생각을 하고 코드를 입력해야겠다.