풀이방법
- 현재칸 +1까지 누울 수 있고 현재칸 +2가 누울 수 없는 경우만 카운트한다.
- 이때, if문 조건을 통해 배열 인덱스 초과를 주의해야한다.
코드
package boj1652;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
char[][] arr = new char[n][n];
int row = 0, col = 0;
for (int i = 0; i < n; i++) {
String line = br.readLine();
for (int j = 0; j < n; j++) {
arr[i][j] = line.charAt(j);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (j + 1 < n) {
if (arr[i][j] == '.' && arr[i][j + 1] == '.' &&
(j == n - 2 || arr[i][j + 2] == 'X')) {
row++;
}
}
if (i + 1 < n) {
if (arr[i][j] == '.' && arr[i + 1][j] == '.' &&
(i == n - 2 || arr[i + 2][j] == 'X')) {
col++;
}
}
}
}
System.out.println(row + " " + col);
}
}