[Algorithm]奉宥利

8441 ワード


入力例
1行目の自然数n,2行目からn個の自然数が与えられる.1人当たりの年数は100を超えない.
ピークの個数を出力してください.
答えを出す.ピークとは、必ず上下左右にある4つの数字より大きい.各数値を上下左右にナビゲートします.
function solution(arr){  
  let dx =[0,1,0,-1];
  let dy =[1,0,-1,0];
  const len= arr.lenght;
  const answer=0;
  
  for(let i=0;i<len;i++){
  	for(let j=0;j<len;j++){
 	 let flag=1; 
     for(let k=0;k<4;k++){
      let kx=i+dx[k];
      let ky=j+dy[k];
      
      if(kx>=0&& kx<n &&ky >=0 && ky<n){
       if(arr[kx][ky]>=arr[i][j])
       { flag=0;
         break;}  
      }
     }
      flag && answer++
    }
  }
    return answer;
}

let arr=[[5, 3, 7, 2, 3], 
         [3, 7, 1, 6, 1],
         [7, 2, 5, 3, 4],
         [4, 3, 6, 4, 1],
         [8, 7, 3, 5, 2]];

console.log(solution(arr));