t
Size: a a a
t
t
t
function encode(str) {
let chars = [...str];
let result = "";
for(let i = 0, count = 1; i < chars.length; i++) {
if(chars[i] === chars[i + 1]) {
count++;
if(chars[i] === chars[i + 2]) {
continue
}
result += chars[i] + count;
count = 1;
i++;
} else {
result += chars[i];
}
}
return result
}t
t
t
function decode(str) {
return [...str].reduce((acc, k, idx) => {
const newIdx = Math.floor(idx / 2);
if(!acc[newIdx]) acc[newIdx] = [];
acc[newIdx].push(k);
return acc
}, [])
.map(([count, letter]) => letter.repeat(count))
.join("")
}S
function decode(str) {
return [...str].reduce((acc, k, idx) => {
const newIdx = Math.floor(idx / 2);
if(!acc[newIdx]) acc[newIdx] = [];
acc[newIdx].push(k);
return acc
}, [])
.map(([count, letter]) => letter.repeat(count))
.join("")
}
d
function decode(str) {
return [...str].reduce((acc, k, idx) => {
const newIdx = Math.floor(idx / 2);
if(!acc[newIdx]) acc[newIdx] = [];
acc[newIdx].push(k);
return acc
}, [])
.map(([count, letter]) => letter.repeat(count))
.join("")
}
t
t
t
d
t
t