I로마 숫자는 , V, X, L, C, D의 7가지 기호로 표시됩니다
Symbol Value
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
예를 들어, 로마 숫자로 쓰는데 둘만 더하면 됩니다 2. 는 로 작성됩니다 . 숫자 는 , 즉 로 기록됩니다 .II12XIIX + II27XXVIIXX + V + II
로마 숫자는 일반적으로 왼쪽에서 오른쪽으로 큰 것에서 작은 것 순으로 표기합니다. 그러나 4의 숫자는 가 아닙니다 IIII. 대신 숫자 4는 로 기록됩니다 IV. 1은 5보다 앞에 있기 때문에 빼서 4가 됩니다. 로 쓰여진 숫자 9에도 동일한 원칙이 적용됩니다 IX. 빼기가 사용되는 6가지 경우가 있습니다.
로마 숫자가 주어지면 그것을 정수로 변환하십시오.
Example 1:
Input: s = "III"
Output: 3
Explanation: III = 3.
Example 2:
Input: s = "LVIII"
Output: 58
Explanation: L = 50, V= 5, III = 3.
Example 3:
Input: s = "MCMXCIV"
Output: 1994
Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.
var romanToInt = function(strs) {
const map = {
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000};
let result = 0;
for(let i = 0; i < strs.length; i++) {
const curr = map[strs[i]], next = map[strs[i+1]];
curr < next
? result -= curr
: result += curr;
}
return result;
};
1. 로마자로 반환 할 값들을 객체 키, 밸류로 설정해준다.
2. 결과값을 담을 Result 변수를 만든다.
3. 인자로 들어로는 문자열(strs)의 길이 만큼 반목문 돌려주고 객체괄호접근법을 이용하여 curr, next에 담아준다.
4. 로마숫자기호 특성 ex:IV 5-1 파악하여 앞 요소보다 뒤 요소가 크다면 빼주고, 반대라면 더해준다.
영문 철자변경 대문자 소문자 첫글자만 변경/ 전체대문자 변경 / 전체 소문자변경 (0) | 2023.07.10 |
---|---|
[LeetCode] Longest Common Prefix (0) | 2022.01.30 |
[Algorithm] leetCode Palindrome Number (0) | 2022.01.23 |
[Algorithm] LeetCode Twosum JavaScript hash table (0) | 2022.01.23 |
TIL 알고리즘 넘버 역순 반환하기 (0) | 2021.11.16 |