Как сосчитать повторяющиеся буквы?
const count = str => [...str]
  .reduce((acc, n, i, a) => (
    a[i - 1] !== n && acc.push([ n, 0 ]),
    acc[acc.length - 1][1]++,
    acc
  ), [])
  .flat()
  .join('');
или

const count = str => str.replace(/(.)\1*/g, m => m[0] + m.length);
Вариант с минимальными изменениями
function RST(str){
let arr = str.split('');
let num = 1;
let result = '';
for(let i = 1; i < arr.length; i++){
  if(arr[i] == arr[i-1]){
    num++;
  } else {
    result += arr[i-1] + num; // тут была ошибка
    num = 1;
  }
}
// Нужно допечатать последнее накопление num
if(arr.length > 0)
 result += arr[arr.length-1] + num;
return result;
}