ez_code   1년 전

문제

당신의 새 핸드폰 요금은 메시지의 각 문자마다 요금을 부과합니다. 당신은 메시지에 연속된 문자를 보내는 경우가 많으므로, 다음과 같은 압축 방식을 고안했습니다: 각 문자에 대해, 그 문자가 연속하는 횟수를 적고 그 문자를 적는다. 이러한 압축 방식을 런-길이 암호화라고 부릅니다. 

보다 정확히 말하면, 하나의 블록은 동일한 문자로 이루어진 가장 긴 길이의 부분 문자열입니다. 블록은 그 블록의 길이와 블록을 이루는 문자로 이루어진 압축된 형태로 표현될 것입니다. 문자열을 압축한 결과는 문자열의 각 블록을 압축한 결과를 문자열에 등장한 순서대로 나타낸 결과와 같습니다.

문자열이 주어질 때, 이러한 형식으로 문자열을 압축하는 프로그램을 작성합시다.

입력

첫 줄에 이어지는 줄의 개수 N이 주어집니다. 다음 N개의 줄에 공백 없이 1개 이상 80개 이하 문자가 주어집니다.

출력

N개의 줄을 출력합니다. 출력의 i번째 줄은 입력의 i+1번째 줄을 압축한 결과입니다. 줄을 압축한 결과는 공백으로 구분된 쌍의 연속으로, 각 쌍은 (문자가 연속하는 횟수를 나타내는) 하나의 정수와 하나의 공백, 그리고 문자로 이루어집니다. 

댓글을 작성하려면 로그인해야 합니다.