면접 결과 : 앞으로 막무가내 지원은 그만두자. CS 지식 습득을 우선시 하자.
import java.util.Scanner;
public class bj1080 {
static Scanner scanner = new Scanner(System.in);
static int[][] A;
static int[][] B;
public static void main(String[] args) {
inputData();
System.out.println(findAnswer());
scanner.close();
}
public static void inputData(){
System.out.println("inputData()");
int i, j;
int N, M;
String temp;
N = scanner.nextInt();
M = scanner.nextInt();
A = new int[N][M];
B = new int[N][M];
System.out.println("A 입력");
for(i = 0; i < N; i++){
temp = scanner.next();
for(j = 0; j < M; j++){
A[i][j] = temp.charAt(j) - '0';
}
}
System.out.println("B 입력");
for(i = 0; i < N; i++){
temp = scanner.next();
for(j = 0; j < M; j++){
B[i][j] = temp.charAt(j) - '0';
}
}
}
public static int findAnswer(){
System.out.println("findAnswer()");
int answer = 0;
int i, j, k, l;
int N = A.length, M = A[0].length;
for(i = 0; i < N; i++){
for(j = 0; j < M; j++){
if((A[i][j] != B[i][j]) && (i + 2 < N) && (j + 2 < M)){
for(k = i; k < i + 3; k++){
for(l = j; l < j + 3; l++){
A[k][l] = (A[k][l] == 0 ? 1 : 0);
}
}
answer++;
System.out.println("answer : " + answer);
for (k = 0; k < N; k++) {
for (l = 0; l < M; l++) {
System.out.print(A[k][l]);
}
System.out.println();
}
System.out.println();
}
}
}
for (i = 0; i < N; i++) {
for (j = 0; j < M; j++) {
if (A[i][j] != B[i][j]) {
return -1;
}
}
}
return answer;
}
}