let lookAndSay = function(nth, number = "1") { if (nth === 1) return number; let index = 0, counter = 1, currentNumber = ""; let result = ""; while (index < number.length) { if (index === 0) { currentNumber = number[index]; } else if (currentNumber === number[index]) { counter++; } else if (currentNumber !== number[index]) { result = `${result}${counter}${currentNumber}`;//? counter = 1; currentNumber = number[index]; } index++; } result = `${result}${counter}${currentNumber}`;//? return lookAndSay(--nth, result); }
Tag: string
Categories
Valid Parenthesis
function validParenthesis(str) {
let closingMap = {
')' : '(',
']' : '[',
'}' : '{'
}
let chars = [];
for(let i = 0; i < str.length; i++) {
if (str[i] === '(' || str[i] === '[' || str[i] === '{') {
chars.push(str[i]);
}
else {
let compare = chars.pop();
if (closingMap[str[i]] !== compare) return false;
}
}
return chars.length === 0;
}