섹션2의 마지막 문제답게 어려웠다. 시간 안에 풀지 못해서 레퍼런스 코드를 보고나서 풀었다.
count 변수를 선언해주고 1을 할당한다.str[i] === str[i + 1]) count를 1증가 시킨다.3a 형태로 결과 문자에 담아준다.count를 초기화한다. function compressString(str) {
  let result = '';
  let count = 1;
  if (str.length === 0) {
    return '';
  }
  
  for (let i = 0; i < str.length; i++) {
    if (str[i] === str[i + 1]) {
      // 연속한 문자열인 경우
      count++;
    } else {
      // 연속하지 않는 경우 
      // 반복된 횟수가 3이상일 경우에만 압축한다.
      // 그렇지 않은 경우에는 문자만 할당하고 
      //카운트를 초기화한다.
      if (count >= 3) {
        result += count + str[i];
      } else {
        result += str[i].repeat(count);
      }
      count = 1;
    }
  }
  return result;
}마지막 비교의 경우에는 문자열의 마지막 요소와 undefined를 비교해서 else부분으로 넘어간다.