function accum(s) { /* a place to store result iterate over s // append the current letter times i+1 to the result // capitalise first letter // append a dash if not last letter */ let result = ""; for (let i = 0; i < s.length; i++) { const counter = i +1; result += s[i].toLowerCase().repeat(counter) if (i !== s.length -1) { result += "-" } } return result.replace(/(^\w)|\-\w/g, function(c) { return c.toUpperCase(); }) } console.log(accum("hola"))