코딩: JavaScript에서 로마 숫자를 정수로 변환- LeetCode(13)

Feb 01 2023
이 기사에서는 로마자 값을 정수로 변환하도록 설계된 코드에 대해 설명합니다. 코드는 로마 숫자를 나타내는 문자열 인수 "s"를 사용하는 "romanToInt"라는 JavaScript 함수입니다.

이 기사에서는 로마자 값을 정수로 변환하도록 설계된 코드에 대해 설명합니다.

코드는 로마 숫자를 나타내는 문자열 인수 "s"를 사용하는 "romanToInt"라는 JavaScript 함수입니다. 이 함수는 로마 숫자를 정수로 변환하고 결과를 반환합니다.

이 함수는 각 로마 숫자 기호를 해당 정수 값에 매핑하는 객체 "맵"을 정의하는 것으로 시작합니다. 예를 들어 "I"는 1에 매핑되고 "V"는 5에 매핑되는 식입니다.

다음으로 함수는 "result" 변수를 선언하고 0으로 초기화합니다. 이 변수는 최종 정수 결과를 저장하는 데 사용됩니다.

그런 다음 함수는 for 루프를 사용하여 입력 문자열 "s"의 각 문자를 반복합니다. 각 문자에 대해 함수는 "지도" 개체에서 해당 정수 값을 찾습니다.

현재 문자가 문자열의 마지막 문자가 아닌 경우 함수는 다음 문자의 값을 확인합니다. 다음 문자가 현재 문자보다 높은 값을 가지면 함수는 두 값의 차이를 "result" 변수에 더합니다. 이는 로마 숫자 기호를 조합하여 "IV"(4) 또는 "IX"(9)와 같이 더 큰 값을 나타낼 수 있기 때문입니다.

마지막으로 함수는 입력 로마 숫자에 해당하는 정수를 나타내는 최종 "결과" 값을 반환합니다.

예를 들어 "romanToInt("XXI")"를 호출하면 함수는 21을 반환합니다.

다음은 "romanToInt" 함수를 단계별로 설명하는 코드 스니펫입니다.

function romanToInt(s) {
  const map = {
    I: 1,
    V: 5,
    X: 10,
    L: 50,
    C: 100,
    D: 500,
    M: 1000
  };
  let result = 0;
  for (let i = 0; i < s.length; i++) {
    let value = map[s[i]]; // Look up the integer value of the current character
    console.log(`${s[i]} maps to ${value}`);
    if (i + 1 < s.length) {
      let nextValue = map[s[i + 1]];
      console.log(`Next character ${s[i+1]} maps to ${nextValue}`);
      if (nextValue > value) {
        value = nextValue - value; // Calculate the combined value of two symbols
        console.log(`Combined value of ${s[i]} and ${s[i+1]} is ${value}`);
        i++;
      }
    }
    result += value; // Add the current value to the final result
    console.log(`Result so far: ${result}`);
  }
  return result;
}

예를 들어 "romanToInt("XXI")"를 호출하면 콘솔 출력은 다음과 같습니다.

Javascript로 코딩하는 방법에 대해 자세히 알아보려면 저를 팔로우하여 더 많은 코드 스니펫과 예제를 확인하세요. 언어를 마스터하고 개발자로서의 기술을 향상시키는 방법에 대한 귀중한 정보와 팁을 공유하겠습니다. 계속해서 더 많은 업데이트를 확인하고 함께 학습해 봅시다.

읽어주셔서 감사합니다. 행복한 학습이 되세요

그것을 따라 우리 출판물을 지원하십시오

Java 8 — 술어, 소비자 및 공급자 스타트업이 하이브리드 애플리케이션보다 React Native를 선택해야 하는 이유는 무엇입니까? Java의 직렬화 및 역직렬화 [ Java 내부 파트 6 ] [ 두 번째 파트] 파트 2: 일반적인 JavaScript 질문(6–9) SpringBoot와 Splunk 통합 - 마지막 파트