시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
보기 좋은 떡이 먹기도 좋다는 말처럼, 깔끔하게 정리된 글은 어수선하게 늘어놓은 글보다 읽기 편합니다. 이 문제에서는 주어진 글을 단어 단위로 끊어, 각 열을 가지런히 맞춰 예쁘게 출력합니다.
여기서 '예쁜 글'이란, 글의 모든 줄에서 i번째 단어의 시작 위치(열)가 서로 같은 글을 말합니다. 예를 들어 다음 글을 봅시다.
a bc zde f zz두 번째 단어인 bc와 f의 시작 위치가 서로 다르므로 이 글은 예쁜 글이 아닙니다. 공백을 적절히 넣어 시작 위치를 맞추면 다음과 같이 됩니다.
a bc zde f zz이제 첫 번째 단어 a와 de가 모두 0번 칸에서, 두 번째 단어 bc와 f가 모두 3번 칸에서, 세 번째 단어 z와 zz가 모두 6번 칸에서 시작하므로 예쁜 글이 됩니다.
입력으로 글이 주어지면, 공백을 적절히 넣고 빼서 이 글을 예쁜 글로 만들어 출력하세요. 글에는 공백, 줄바꿈, 그리고 ASCII 값 33부터 126까지의 문자만 등장합니다.
글의 내용이 여러 줄에 걸쳐 주어집니다. 각 단어는 공백으로 구분되며, 한 단어의 길이는 최대 80자입니다. 한 줄에는 공백을 포함하여 최대 180자가 들어오고, 글은 최대 1000줄까지 주어질 수 있습니다.
입력으로 주어진 글을 예쁘게 정렬하여 출력합니다. 각 열의 너비는 그 열에 등장하는 단어들의 최대 길이로 정하고, 이웃한 두 열 사이는 공백 한 칸으로 구분합니다. 각 줄에서 단어를 구분하는 데 필요한 공백 외에 불필요한 공백(줄 앞뒤의 공백이나 줄 마지막 단어 뒤의 공백)은 출력하지 않습니다. 이 조건을 만족하는 정렬은 유일하게 결정됩니다.
a bc zde f zza bc zde f zz