휴대폰 문자 압축
면접 대비시간 제한1초메모리 제한512 MB
각 문자열마다 같은 문자가 연속된 구간을 개수와 문자 쌍으로 바꿔 run-length encoding 형식으로 출력한다.
문제
새 휴대폰 요금제는 문자를 보낼 때 글자마다 요금을 부과한다. 기호가 연속으로 나열된 메시지를 자주 보내기 때문에, 다음과 같은 압축 기법을 고안했다. 각 기호마다 그 기호가 연속으로 나타난 횟수를 적고, 그 뒤에 기호 자체를 적는다. 이 압축 기법을 런 렝스 인코딩이라고 한다.
더 엄밀히 말하면, 블록은 같은 기호로만 이루어진, 더 이상 늘릴 수 없는 부분 문자열이다. 블록은 압축된 형태로 블록의 길이와 그 블록의 기호를 이어서 나타낸다. 문자열의 인코딩은 문자열에 있는 각 블록을 문자열에 나타난 순서대로 나타낸 것이다.
문자열이 주어지면 이 형식으로 인코딩하는 프로그램을 작성하시오.
입력
첫째 줄에는 뒤따르는 줄의 수 N이 주어진다. 다음 N개 줄에는 각각 1개 이상 80개 이하의 문자가 들어 있으며, 공백은 없다.
출력
N개 줄을 출력한다. 출력의 i번째 줄은 입력의 i+1번째 줄을 인코딩한 것이다. 한 줄의 인코딩은 쌍들을 공백으로 구분한 나열이며, 각 쌍은 정수(문자가 연속으로 나타난 횟수), 공백, 문자 순서로 이루어진다.