정보 이론과 부호의 기초
LZ77 방식으로 압축한 데이터를 복원한다. 데이터는 '문자 A', '문자 B', '(거리 2, 길이 5)'의 순서로 늘어서 있다. (거리 d, 길이 L)은 '복원한 문자열의 끝에서 d문자 앞의 문자를 끝에 복사하는' 것을 1문자씩 L번 반복함을 나타낸다. 복원한 문자열은?
- AABAB
- BABABABA
- CABAAAAA
정답과 해설 보기
정답: B. ABABABA
A와 B를 늘어놓은 'AB'에서 시작합니다. 2문자 앞의 A를 복사하여 'ABA', 다음은 2문자 앞이 된 B를 복사하여 'ABAB'와 같이, 1문자 복사할 때마다 복사 원본도 하나씩 나아가므로 5문자를 복사하면 'ABABABA'의 7문자가 됩니다. 이처럼 길이가 거리보다 길어도 되며, 방금 복사한 문자를 복사 원본으로 사용함으로써 짧은 패턴의 긴 반복을 하나의 쌍으로 나타낼 수 있습니다.