패리티 비트(parity bit) 또는 검사 비트(check bit)는 오류 검출을 위해 비트열의 끝에 덧붙이는 비트다. 통신과 컴퓨팅에서 모든 데이터는 0과 1의 비트열로 변환된다. 이 문제에서는 모든 정보가 8비트 단위로 부호화되며, 앞의 7비트는 데이터로, 마지막 1비트는 패리티 비트로 사용한다고 가정한다. 앞의 7비트에 들어 있는 1의 개수가 홀수이면 패리티 비트를 1로, 짝수이면 0으로 정한다.
| 데이터 7비트 (1의 개수) | 패리티 비트를 포함한 8비트 |
|---|---|
| 0000000 (0) | 00000000 |
| 0101001 (3) | 01010011 |
| 0111001 (4) | 01110010 |
| 0110111 (5) | 01101111 |
| 1001100 (3) | 10011001 |
패리티 비트를 이용하면 데이터가 잘못 전송되었는지 판단할 수 있다. 패리티 비트가 올바르지 않으면(앞 7비트의 패리티와 일치하지 않으면) 패리티 오류가 발생한 것이다. 각 줄의 데이터를 읽어 그 줄에서 발생한 패리티 오류의 개수를 구하여라.
첫째 줄에는 전송된 데이터 줄의 개수를 나타내는 양의 정수가 주어진다. 이후 각 줄에는 0과 1로 이루어진 비트열이 주어지며, 각 줄의 길이는 8의 배수이고 64를 넘지 않는다.
각 데이터 전송 줄마다 그 줄에서 발견된 패리티 오류의 개수를 출력한다.