String Compression
Input: aabcccccaaa
Output: a2b1c5a3
by Vikram Deshmukh
JavaScript
function compress(str) {
let result = '';
const len = str.length;
if(!len) return '';
let prev = str.charAt(0);
let count = 1;
for(let i = 1; i < len; i++) {
const char = str.charAt(i);
if(prev !== char) {
result += prev+count.toString();
prev = char;
count = 1;
} else {
count++;
}
}
result += prev+count.toString();
return result;
}
console.log(compress("aabcccccaaa"));
console.log(compress(""));
console.log(compress("aaaaaaa"));
console.log(compress("abcdefghjiklmnopqrstuvwxyz"));