import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Weather_Forecaster {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int H = Integer.parseInt(st.nextToken());
int W = Integer.parseInt(st.nextToken());
char[][] map = new char[H][W];
int[][] answer = new int[H][W];
for (int i = 0; i < H; i++) {
String str = br.readLine();
for (int j = 0; j < W; j++) {
map[i][j] = str.charAt(j);
}
}
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
if(map[i][j]=='.'){
answer[i][j]=-1;
}
else{
while (true){
int current = answer[i][j];
if(j==W-1)
break;
j++;
if(map[i][j]=='c'){
j--;
break;
}
answer[i][j]+=current+1;
}
}
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
sb.append(answer[i][j]).append(" ");
}
sb.append("\n");
}
System.out.println(sb);
}
}
어렵지 않게 풀었는데 그냥 출력문과 stringBuilder의 시간 차이가 많이 나서 가져와봤다.
출력해야할 일이 많을 경우에는 꼭 stringBuilder를 쓰는게 좋겠다.