로마 숫자는 오늘날에도 여전히 사용되는 고대 숫자 체계입니다. 이를 일반 정수로 변환하는 것은 일반적인 프로그래밍 과제입니다. 이 변환을 우아하게 처리하는 솔루션을 분석해 보겠습니다.
코드를 살펴보기 전에 로마 숫자의 작동 방식을 이해해 봅시다.
function romanToInteger(str) { let symbols = { I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000, } let result = 0 for (let i = 0; i < str.length; i++) { const current = str[i] const next = str[i + 1] if (symbols[current] < symbols[next]) { result -= symbols[current] } else { result += symbols[current] } } return result }
1. 기호 매핑
먼저, 각 로마 숫자를 해당 정수 값에 매핑하는 객체를 만듭니다. 이를 통해 값을 빠르게 조회할 수 있습니다.
2. 문자열 반복
입력 문자열의 각 문자를 반복하면서 현재 문자와 다음 문자를 모두 추적합니다.
3. 핵심 논리
각 문자에 대해 해당 값을 다음 문자의 값과 비교합니다.
romanToInteger("III") → 3
각각 결과에 1을 더합니다romanToInteger("IV") → 4
V보다 작아서 뺍니다romanToInteger("IX") → 9
X보다 작아서 뺍니다
이 솔루션은 간단한 비교 기술을 사용하여 로마 숫자를 정수로 변환하는 작업을 우아하게 처리합니다. 코드는 간결하면서도 모든 유효한 로마 숫자 입력을 처리할 만큼 강력합니다.
위 내용은 LeetCode: 로마 숫자를 정수로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!