상, 하, 좌, 우를 검사 해야 하며 가장자리는 0이 주어지므로 배열을 생성 할때 이를 생각해서 생성을 해야한다.
package kosta.mission2;
import java.util.Scanner;
public class Solution2_10 {
public int solution(int n, int arr[][]) {
int answer = 0;
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) { //상, 하, 좌, 우 검사
if(arr[i][j] > arr[i-1][j] && arr[i][j] > arr[i+1][j] && arr[i][j] > arr[i][j-1] && arr[i][j] > arr[i][j+1]) {
answer++;
}
}
}return answer;
}
public static void main(String[] args) {
Solution2_10 s = new Solution2_10();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int arr[][] = new int[n+2][n+2]; // 가장자리에 0으로 초기화 되기 때문에 행과 열이 2개씩 추가된다.
for(int i = 1; i < n+1; i++) { //배열의 첫번째 자리는 0 이기 때문에 1부터
for(int j = 1; j < n+1; j++) {
arr[i][j] = sc.nextInt();
}
}
System.out.println(s.solution(n, arr));
}
}