[Algorithm] _ 봉우리

입력예제
첫줄 자연수 n, 두번째 줄부터 n개의 자연수가 주어진다. 각자연수는 100을 넘지 않는다.
봉우리 갯수를 출력하시오.

//풀이. 봉우리란 상하좌우에 위치한 네 숫자보다 무조건 큰 숫자여야한다. 각각의 숫자에 대해 상하좌우 숫자를 탐색해보자.

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));

좋은 웹페이지 즐겨찾기