Codificación: conversión de números romanos a números enteros en JavaScript- LeetCode(13)
En este artículo, analizaremos un fragmento de código diseñado para convertir valores romanos en números enteros.
El código es una función de JavaScript llamada "romanToInt" que toma un argumento de cadena "s", que representa un número romano. La función convierte el número romano en un número entero y devuelve el resultado.
La función comienza definiendo un objeto "mapa" que asigna cada símbolo de número romano a su valor entero correspondiente. Por ejemplo, "I" se asigna a 1, "V" se asigna a 5, y así sucesivamente.
A continuación, la función declara una variable "resultado" y la inicializa en 0. Esta variable se utilizará para almacenar el resultado entero final.
Luego, la función usa un bucle for para iterar sobre cada carácter en la cadena de entrada "s". Para cada carácter, la función busca su valor entero correspondiente en el objeto "mapa".
Si el carácter actual no es el último carácter de la cadena, la función comprueba el valor del siguiente carácter. Si el siguiente carácter tiene un valor más alto que el carácter actual, la función agrega la diferencia entre los dos valores a la variable "resultado". Esto se debe a que los símbolos de números romanos se pueden combinar para representar valores más grandes, como "IV" (4) o "IX" (9).
Finalmente, la función devuelve el valor del "resultado" final, que representa el equivalente entero del número romano de entrada.
Por ejemplo, si llamamos a “romanToInt(“XXI”)”, la función devolvería 21.
Aquí hay un fragmento de código que explica la función "romanToInt" paso a paso:
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;
}
Por ejemplo, si llamamos a “romanToInt(“XXI”)”, la salida de la consola se vería así:
Si está interesado en aprender más sobre la codificación en Javascript, asegúrese de seguirme para obtener más fragmentos de código y ejemplos. Estaré compartiendo información valiosa y consejos sobre cómo dominar el lenguaje y mejorar tus habilidades como desarrollador. Entonces, estén atentos para más actualizaciones y sigamos aprendiendo juntos.
Gracias por leer. Feliz aprendizaje
Apoya nuestra publicación siguiéndola
Java 8: predicado, consumidor y proveedor ¿Por qué las empresas emergentes deberían elegir React Native en lugar de aplicaciones híbridas? Serialización y deserialización en Java [ Java Internals Part 6 ] [ Second part] Part 2: Top(6–9) Common JavaScript Questions Splunk Integration with SpringBoot — Parte final
![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































