diff --git a/src/brackets/index.js b/src/brackets/index.js index 96b6766..471e7c0 100644 --- a/src/brackets/index.js +++ b/src/brackets/index.js @@ -4,6 +4,37 @@ * @param {string} str The string of brackets. * @returns {"valid" | "invalid"} Whether or not the string is valid. */ -function isValid(str) {} +function isValid(str) { + + let stack = []; + + for (let i = 0; i < str.length; i++) { + let x = str[i]; + + if ( x == '[' || x == '{' || x == '(') { + stack.push(x); + continue; + } + + if (stack.length === 0 ) + return "invalid" + + const poppedELEMENT = stack.pop(); + if (x == ']' && poppedELEMENT != '['){ + return "invalid" + } + if (x == '}' && poppedELEMENT != '{') { + return "invalid" + }; + if (x == ')' && poppedELEMENT != '(') { + return "invalid" + }; + + + }; + + return stack.length === 0 ? "valid" : "invalid" +}; + module.exports = isValid; diff --git a/src/roman-numerals/index.js b/src/roman-numerals/index.js index 38afb19..e4510b6 100644 --- a/src/roman-numerals/index.js +++ b/src/roman-numerals/index.js @@ -4,6 +4,39 @@ * @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 numeral = { + I: 1, + V: 5, + X: 10, + L: 50, + C: 100, + D: 500, + M: 1000, + }; + let result = 0; + for(let i = 0; i < roman.length; i++) { + let curSym = numeral[roman[i]] + let nextSym = numeral[roman[i + 1]] + + if(nextSym && nextSym > curSym){ + result += nextSym - curSym + i++ + } + else { + result += curSym + }; + }; + return result +}; module.exports = romanToDecimal; + + + + + + diff --git a/src/transpose/index.js b/src/transpose/index.js index adec201..c5fa12b 100644 --- a/src/transpose/index.js +++ b/src/transpose/index.js @@ -4,6 +4,9 @@ * @param {number[]} array The array to transpose * @returns {number[]} The transposed array */ -function transpose(array) {} +function transpose(array) { + return array[0].map((item, index) => array.map((cur) => cur[index])) + +}; module.exports = transpose;