문제

  • 강의답안
    상하좌우에 위치한 원소의 값을 가져올 수 있도록 배열 두개 생성
let dx=[-1, 0, 1, 0];
let dy=[0, 1, 0, -1];

위 배열을 통해서 삼중 for문을 만들어 각 위치의 배열 원소값을 가져오기

[내 답안]

function solution(arr){
  const len = arr.length;
  let count = 0; // 봉우리의 갯수 카운팅
  //이중 배열 탐색을 위한 이중 for문
  for (let i = 0; i < len; i ++) {
  	for(let j = 0; j < len; j ++) {
        
    	const top = i - 1 < 0 ? 0 : arr[i-1][j];
      	const left = j - 1 < 0 ? 0 : arr[i][j-1];
	    const right = j + 1 === len ? 0 : arr[i][j+1];
        const bottom = i + 1 === len ? 0 : arr[i+1][j];
        
        if (arr[i][j] === Math.max(top, left, right, bottom, arr[i][j])) count++;
    }
  }
  
  return count;
}

프로그래머스의 코딩테스트처럼 여러가지 케이스를 테스트 할 수 있는 환경이 아니어서
답안이 완벽한지는 모르겠지만, 이중 for문으로 끝내보았따.

profile
고양이 집사 / INTP / 프론트엔드 개발자 / 기록 용..?

0개의 댓글