From 0f31a95058e5ab5ea37f8941a5dda49fc6c5b12f Mon Sep 17 00:00:00 2001 From: smartfusion01 Date: Mon, 30 Jan 2023 15:21:43 +0100 Subject: [PATCH] Transpose and Roman Numerals --- src/roman-numerals/index.js | 26 +++++++++++++++++++++++++- src/transpose/index.js | 13 ++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/roman-numerals/index.js b/src/roman-numerals/index.js index 38afb19..14a214e 100644 --- a/src/roman-numerals/index.js +++ b/src/roman-numerals/index.js @@ -4,6 +4,30 @@ * @param {string} roman The all-caps Roman numeral between 1 and 3999 (inclusive). * @returns {number} The decimal equivalent. */ -function romanToDecimal(roman) {} +function romanToDecimal(roman) { + let sum = 0; + let romanNum = { + I: 1, + V: 5, + X: 10, + L: 50, + C: 100, + D: 500, + M: 1000 + }; + + +for (let i = 0; i < roman.length; i++){ + + + if (romanNum[roman[i]] < romanNum[roman[i+1]]){ + + sum = sum - romanNum[roman[i]]; + } else { + sum = sum + romanNum[roman[i]]; + } +} +return sum; +} module.exports = romanToDecimal; diff --git a/src/transpose/index.js b/src/transpose/index.js index adec201..e9f7d25 100644 --- a/src/transpose/index.js +++ b/src/transpose/index.js @@ -4,6 +4,17 @@ * @param {number[]} array The array to transpose * @returns {number[]} The transposed array */ -function transpose(array) {} +function transpose(array) { + let result = []; + + for (let i = 0; i < array[0].length; i++){ + let temp = []; + for(let j = 0; j < array.length; j++){ + temp.push(array[j][i]); + } + result.push(temp); + } + return result; +} module.exports = transpose;