JSFiddle - React, Tailwind, and code Playground
by Yurii Predborskyi
JavaScript
let decodeString = function(s) {
function findLength(string, index) {
while(string[index] !== ']') {
index++;
}
return index;
}
let res = '';
for (let i = 0; i < s.length; i++) {
console.log('res is ', res);
if (s[i] === '[') {
console.log('found new encoded string');
let repeats = s[i - 1];
let finish = findLength(s, i + 1);
let substring = s.substr(i + 1, finish);
for (let cnt = 0; cnt < repeats; cnt++) {
res += substring;
}
console.log('decoding result: ', res);
i = finish + 1;
}
}
return res;
};
let s = "3[a]2[bc]";
console.log(decodeString(s));