정보 이론과 부호의 기초

LZ77 방식으로 압축한 데이터를 복원한다. 데이터는 '문자 A', '문자 B', '(거리 2, 길이 5)'의 순서로 늘어서 있다. (거리 d, 길이 L)은 '복원한 문자열의 끝에서 d문자 앞의 문자를 끝에 복사하는' 것을 1문자씩 L번 반복함을 나타낸다. 복원한 문자열은?

  1. AABAB
  2. BABABABA
  3. CABAAAAA
정답과 해설 보기

정답: B. ABABABA

A와 B를 늘어놓은 'AB'에서 시작합니다. 2문자 앞의 A를 복사하여 'ABA', 다음은 2문자 앞이 된 B를 복사하여 'ABAB'와 같이, 1문자 복사할 때마다 복사 원본도 하나씩 나아가므로 5문자를 복사하면 'ABABABA'의 7문자가 됩니다. 이처럼 길이가 거리보다 길어도 되며, 방금 복사한 문자를 복사 원본으로 사용함으로써 짧은 패턴의 긴 반복을 하나의 쌍으로 나타낼 수 있습니다.

이 분야 연습하기 분야로 돌아가기

정보 이론과 부호의 기초의 다른 문제

  1. 데이터를 압축할 때, 손실 압축이 아니라 무손실 압축을 사용해야 하는 것은?
  2. 데이터 비트열에 1의 개수가 짝수가 되도록 짝수 패리티 비트를 하나 붙여 보낸다. 수신 측에서 1의 개수를 조사하는 검사의 성질로 올바른 것은?
  3. 4비트 데이터 4행에 대해, 각 행의 오른쪽 끝에 그 행의 짝수 패리티 비트를, 마지막에 각 열의 짝수 패리티를 늘어놓은 행을 붙여 보냈다(수직 수평 패리티). 수신한 비트는 1행 1011 1, 2행 0100 0, 3행 1100 0, 4행 0101 0, 패리티 행 0100이었다(각 행의 오른쪽 끝 1비트가 행의 패리티). 1비트만 잘못되었을 때, 잘못된 비트의 위치는?
  4. 데이터를 1바이트씩 더하여, 합의 하위 8비트를 검사값(체크섬)으로 붙여 보낸다. 이 검사로 검출할 수 없는 오류는?
  5. 데이터 1101에 생성 다항식 x³ + x + 1(비트열 1011)의 CRC 검사 비트 3비트를 붙인다. 검사 비트는 데이터 뒤에 0을 3개 붙인 1101000을 1011로 나눈 나머지이며, 나눗셈에서는 뺄셈 대신 배타적 논리합을 사용한다. 검사 비트는?