0. 문제
https://leetcode.com/problems/roman-to-integer/
Roman to Integer - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
Symbol Value
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
● 로마 숫자는 I, V, X, L, C, D, M의 7가지 기호로 표시
● 로마 숫자는 일반적으로 왼쪽에서 오른쪽으로 큰 것에서 작은 것 순으로 표기
● 4, 9는 예외 처리
● V(5)와 X(10) 앞에 배치 I하여 4와 9를 만든다.
● L(50)과 C(100) 앞에 배치 X하여 40과 90을 만든다.
● D(500)과 M(1000) 앞에 배치 C하여 400과 900을 만든다.
#1
Input: s = "III"
Output: 3
#2
Input: s = "LVIII"
Output: 58
#3
Input: s = "MCMXCIV"
Output: 1994
1.언어
자바스크립트(JavaScript)
2. 문제 풀이
var romanToInt = function(s) {
const map={ I : 1, V : 5, X : 10, L : 50,
C : 100, D : 500, M : 1000, };
let sum=0;
for (let i=0; i<s.length; i++){
if (map[s[i]] < map[s[i+1]]){
sum += map[s[i+1]] - map[s[i]];
i++;
}else sum += map[s[i]];
}
return sum;
};
Runtime: 145 ms, faster than 85.67% of JavaScript online submissions for Roman to Integer.
Memory Usage: 47.6 MB, less than 47.17% of JavaScript online submissions for Roman to Integer.
처음에 문제를 똑바로 안 읽고 4와 9의 존재를 모르고 틀렸다....
4와 9 처리 방법은 낮은 수가 앞에 오고 입력값은 내림차순이니 조건식 ( i < i+1 ) 로 처리하여 해결했다.
'LeetCode > 코딩 테스트 스터디 1주차' 카테고리의 다른 글
[LeetCode] 3. Longest Substring Without Repeating Characters 풀이 (0) | 2022.07.10 |
---|---|
[LeetCode] 2. Add Two Numbers 풀이 (0) | 2022.07.10 |
[LeetCode] 14. Longest Common Prefix 풀이 (0) | 2022.07.10 |
[LeetCode] 9. Palindrome-Number 풀이 (0) | 2022.07.10 |
[LeetCode] 1. Two Sum 풀이 (0) | 2022.07.10 |