728x90
반응형
5*5 격자판이 주어집니다. 각 격자에는 숫자가 쓰여있습니다. 각 격자 판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자의 갯수를 구하는 프로그램을 작성하세요. 격자의 가장자리는 0으로 초기화 되었다고 가정한다.
0000000
0537230
0371610
0725340
0436410
0873520
0000000
function solution(arr){
let answer=0;
let n=arr.length;
let dx=[-1, 0, 1, 0];
let dy=[0, 1, 0, -1];
for(let i=0; i<n; i++){
for(let j=0; j<n; j++){
let flag=1;
for(let k=0; k<4; k++){
let nx=i+dx[k];
let ny=j+dy[k];
if(nx>=0 && nx<n && ny>=0 && ny<n && arr[nx][ny]>=arr[i][j]){
flag=0;
break;
}
}
if(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));
728x90
반응형
'개발공부 일지 > 코테' 카테고리의 다른 글
필수 알고리즘 암기(자바스크립트) (1) | 2023.10.17 |
---|---|
스택(Stack) - 자바스크립트, JS (0) | 2023.07.15 |
격자판에서 최대값 구하기-JS, 자바스크립트 (0) | 2023.06.25 |
선택정렬(Selection Sort) - 자바스크립트(JS), C#(씨샵) (0) | 2023.06.25 |
등수 구하기 -JS, 자바스크립트 (0) | 2023.06.25 |
댓글