로마자로 표시된 문자열을 숫자로 변경해서 해당하는 숫자를 반환하기
로마자 표기 원칙) I = 1, V = 5 일 때, 4를 표현 하고 싶을 때 : IIII (x) / IV (o)
로마 문자와 1:1로 대응하는 숫자들을 찾아내는 것이 먼저기 때문에
객체의 키와 value를 분류해서 저장하는 작업을 먼저 했다.
그 다음 키 값과 일치하는 값을 차례로 넣기 위해 인자의 값을
하나씩 분류해 새로운 배열 (strArr) 을 만들었다.
문자에 대응 될 숫자가 들어올 새로운 배열 (newArr) 을 만들고
마지막 결과값이 들어갈 변수 (result)도 만들었다.
반복문을 이용해서 먼저 strArr의 값을 객체의 키가 담긴 배열 (romKeys)에서 찾고
그 인덱스 값을 이용해 일치하는 value 값을 불러오게 했다.
그 값을 newArr에 넣어서 해당 값이 나올 수 있게 해줬다.
다시 한번 반복문을 돌려서 newArr의 값을 로마자의 원칙에 맞게 합산해 주었다.
왼쪽 값과 비교해서 왼쪽 값이 작으면 빼고, 크면 그대로 더해주는 방식으로 답을 냈다.
들어온 인자를 하나씩 쪼개서 배열로 저장해주고,
모든 값이 더해질 변수를 설정하는 것 (sumNum) 까지는 같지만
키와 value 값에 접근하는 방식을 map 함수를 이용해 접근했다.
(기존 코드보다 무려 8줄이 줄여지는 기적..)
이 후, 조건에 의한 값 합산은 같은 방식으로 진행된다.
map 함수를 조금 더 수월하게 사용할 수 있도록
여러가지 예제를 통해 연습할 수 있어야겠다.