격자의 가장자리는 0으로 초기화 되었다고 가정한다.
import java.util.*;
class Main {
int[] dx={-1, 0, 1, 0};
int[] dy={0, 1, 0, -1};
public int solution(int n, int[][] arr){
int answer=0;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
boolean flag=true;
for(int k=0; k<4; k++){
int nx=i+dx[k];
int ny=j+dy[k];
if(nx>=0 && nx<n &&
ny>=0 && ny<n && arr[nx][ny]>=arr[i][j]){
// 테두리를 벗어나면 안되기 때문에 조건을 붙인다.
(뒤에 붙이면 안됨)
flag=false;
break;
}
}
if(flag) answer++;
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
int[][] arr=new int[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
arr[i][j]=kb.nextInt();
}
}
System.out.print(T.solution(n, arr));
}
}