[javascript] 반복문을 이용한 문자열 압축하기

이번 포스트에서는 JavaScript를 이용하여 문자열을 압축하는 방법에 대해 알아보겠습니다.

문자열 압축이란?

문자열 압축은 연속으로 반복되는 문자를 하나의 문자와 그 반복 횟수로 대체하는 것을 말합니다. 예를 들어, AAAABBBCCDAA4A3B2C1D2A 로 압축될 수 있습니다.

알고리즘 구현

우리는 문자열을 한 번씩 훑으면서 연속하는 문자들을 찾아서 압축된 문자열을 생성할 것입니다.

function compressString(str) {
  let compressed = '';
  let count = 1;

  for (let i = 0; i < str.length; i++) {
    if (str[i] === str[i + 1]) {
      count++;
    } else {
      compressed += count + str[i];
      count = 1;
    }
  }

  return compressed;
}

console.log(compressString('AAAABBBCCDAA')); // 4A3B2C1D2A

이 코드는 문자열을 탐색하면서 각 문자의 연속 횟수를 세고, 압축된 문자열을 생성하여 반환합니다.

결론

JavaScript를 사용하여 문자열을 압축하는 방법에 대해 살펴보았습니다. 이 기술은 데이터 압축이나 문자열 처리에 유용하게 사용될 수 있습니다.

참고 자료

  1. MDN Web Docs - JavaScript 관련 문서
  2. GeeksforGeeks - 문자열 압축 알고리즘에 관한 더 자세한 정보