13. Roman to Integer — JavaScript Solution — Абу Салех Фейсал

Дана римская цифра, нам нужно преобразовать ее в целое число.

Увидев проблему, я подумал, что могу попробовать с объектом сохранить значение римского символа и использовать «цикл for» для доступа к заданной строке.

Решение

Шаг 01. Сохраните значение латинского символа в переменной с именем «romanSymbolValue».

Шаг 02. Объявите переменную с именем «результат» и установите начальное значение 0.

Шаг 03. Запустите цикл for и определите значение строкового символа. Если значение первого символьного символа меньше, чем значение следующего символа, вычтите первое значение из следующего значения и добавьте его к результату. ; Затем увеличьте значение индекса на единицу.

Шаг 04. Если имеется только один символ или значение символа первого символа не меньше значения символа следующего символа, добавьте значение символа первого символа к результату.

Шаг 05. Верните результат.

/**
 * @param {string} s
 * @return {number}
 */
var romanToInt = function(s) {
    const romanSymbolValue = {
        "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++) {
        const firstSymbolValue = romanSymbolValue[s[i]];
        const secondSymbolValue = romanSymbolValue[s[i+1]];

        if(firstSymbolValue < secondSymbolValue) {
            result += secondSymbolValue - firstSymbolValue;
            i++;
        } else {
            result += firstSymbolValue;
        }
    }

    return result;
};

👉 Поддержите меня: buymeacoffee.com/abusalehfaysal

👉 Ссылка на видео на YouTube: youtu.be/c081jEHzsvo

👉 Канал на YouTube: youtube.com/channel/UCW_09Nbobf4URLkAlEo84sw

👉 Ссылка на плейлист: youtube.com/playlist?list=PLUnklBXn8NSefCpB..

👉 Свяжитесь со мной (LinkedIn): linkedin.com/in/abusalehfaysal

👉 Подпишитесь на нашу страницу в LinkedIn: linkedin.com/company/thebacklogprogrammer

👉 Поставьте лайк нашей странице в Facebook: facebook.com/thebacklogprogrammer

👉 Присоединяйтесь к нашему сообществу (группа в Facebook): facebook.com/groups/5500588936676942

👉 Подписывайтесь на меня: facebook.com/AbuSalehFaysal10

👉 Твиттер: twitter.com/AbuSalehFaysal

👉 Блог Абу Салеха Фейсала: abusalehfaysal.hashnode.dev

👉 Hasnode: hashnode.com/@AbuSalehFaysal

👉 Сообщество разработчиков: dev.to/abusalehfaysal

👉 freeCodeCamp: freecodecamp.org/abusalehfaysal

👉 Среда: abusalehfaysal.medium.com

👉 GitHub: github.com/AbuSalehFaysal

👉 GitLab: gitlab.com/AbuSalehFaysal