Codificação: Convertendo algarismos romanos em números inteiros em JavaScript- LeetCode(13)
Neste artigo, discutiremos um trecho de código projetado para converter valores romanos em inteiros.
O código é uma função JavaScript chamada “romanToInt” que recebe um argumento de string “s”, que representa um numeral romano. A função converte o numeral romano em um número inteiro e retorna o resultado.
A função começa definindo um “mapa” de objeto que mapeia cada símbolo numeral romano para seu valor inteiro correspondente. Por exemplo, “I” mapeia para 1, “V” mapeia para 5 e assim por diante.
A seguir, a função declara uma variável “resultado” e a inicializa com 0. Esta variável será utilizada para armazenar o resultado inteiro final.
A função então usa um loop for para iterar sobre cada caractere na string de entrada “s”. Para cada caractere, a função procura seu valor inteiro correspondente no objeto “mapa”.
Se o caractere atual não for o último caractere da string, a função verifica o valor do próximo caractere. Se o próximo caractere tiver um valor maior que o caractere atual, a função adiciona a diferença entre os dois valores à variável “resultado”. Isso ocorre porque os símbolos numéricos romanos podem ser combinados para representar valores maiores, como “IV” (4) ou “IX” (9).
Por fim, a função retorna o valor “resultado” final, que representa o número inteiro equivalente ao numeral romano de entrada.
Por exemplo, se chamarmos “romanToInt(“XXI”)”, a função retornaria 21.
Aqui está um trecho de código que explica a função “romanToInt” passo a passo:
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 exemplo, se chamarmos “romanToInt(“XXI”)”, a saída do console ficaria assim:
Se você estiver interessado em aprender mais sobre codificação em Javascript, siga-me para mais exemplos e trechos de código. Estarei compartilhando informações e dicas valiosas sobre como dominar o idioma e aprimorar suas habilidades como desenvolvedor. Portanto, fique atento para mais atualizações e vamos continuar aprendendo juntos.
Obrigado pela leitura.Bom aprendizado
Apoie nossa publicação seguindo-a
Java 8 — Predicado, consumidor e fornecedor Por que as startups devem escolher aplicativos React Native em vez de aplicativos híbridos? Serialização e desserialização em Java [Java Internals Parte 6] [Segunda parte] Parte 2: Principais(6–9) Perguntas comuns sobre JavaScript Integração do Splunk com SpringBoot — Parte final




































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)