[javascript] 반복문을 이용한 문자열 압축하기
이번 포스트에서는 JavaScript를 이용하여 문자열을 압축하는 방법에 대해 알아보겠습니다.
문자열 압축이란?
문자열 압축은 연속으로 반복되는 문자를 하나의 문자와 그 반복 횟수로 대체하는 것을 말합니다. 예를 들어, AAAABBBCCDAA
는 4A3B2C1D2A
로 압축될 수 있습니다.
알고리즘 구현
우리는 문자열을 한 번씩 훑으면서 연속하는 문자들을 찾아서 압축된 문자열을 생성할 것입니다.
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를 사용하여 문자열을 압축하는 방법에 대해 살펴보았습니다. 이 기술은 데이터 압축이나 문자열 처리에 유용하게 사용될 수 있습니다.
참고 자료
- MDN Web Docs - JavaScript 관련 문서
- GeeksforGeeks - 문자열 압축 알고리즘에 관한 더 자세한 정보