import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
int n = Integer.parseInt(input.split(" ")[0]);
int h = Integer.parseInt(input.split(" ")[1]);
int w = Integer.parseInt(input.split(" ")[2]);
String[] arr = new String[h];
int cnt = 0;
char[] arr_char = new char[n];
for (int i = 0; i < arr_char.length; i++) {
arr_char[i] = '1';
}
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.next();
}
for (int i = 0; i < h; i++) {
for (int j = 0; j < n*w; j+=w) {
for (int k = 0; k < w; k++) {
if(arr[i].substring(j, j+w).charAt(k)!='?') {
arr_char[j/w] = arr[i].substring(j, j+w).charAt(k);
break;
} else {
cnt++;
}
if(cnt==w) {
cnt = 0;
if(arr_char[j/w]=='1') {
arr_char[j/w] = '?';
}
}
}
}
}
System.out.println(new String(arr_char));
}
}
접근방식 -> 정답이 담길 char[] 을 정의하고 입력받는 문자열을 w개씩 잘라서 잘린 문자열에 '?'가 아닌 문자를 char[]에 담는다
'?'만 나왔으면 '?'를 담는다 여기서 if문은 정답 문자가 char[]에 담겼는데 다음 입력에 ?가 담기는 경우를 막아준다.
특이사항 -> char[]을 '1'로 초기화하지않고 진행했을때는 if문에서 비교를 할수가 없었다 char[]의 default 값은 '0'이라고 나와있는데 프린트를 찍어보면 공백문자가 찍힌다 그래서 공백문자로 if문을 태웠더니 또 if문을 제대로 타지를 않았다 ;;; 이거는 좀더 알아봐야겠다
22.02.27 추가 -> char배열의 default 값이 '0'이아니고 정수 0이였다!! 따라서 1로초기화하지않고 if(arr_char[j/w]==0) 으로 비교를 하면 정상적으로 비교가 된다! 또 공백문자와 아스키코드 0은 문자였던것이다!