N*N 격자판
각 격자 판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역
격자의 가장자리는 0으로 초기화 되었다고 가정
봉우리 지역이 몇 개 있는 지 알아내기
나의 풀이
function solution(arr) {
let answer = 0;
let N = arr.length;
let array = Array.from(Array(N + 2), () => Array(N + 2).fill(0));
// 격자판 세팅
for (let i = 1; i <= N; i++) {
for (let j = 1; j <= N; j++) {
array[i][j] = arr[i - 1][j - 1];
}
}
// 봉우리 찾기
for (let i = 1; i <= N; i++) {
for (let j = 1; j <= N; j++) {
if (
array[i][j] > array[i - 1][j] &&
array[i][j] > array[i][j - 1] &&
array[i][j] > array[i + 1][j] &&
array[i][j] > array[i][j + 1]
) {
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));
'코딩테스트 문제풀이 > inflearn' 카테고리의 다른 글
[인프런] Node.js / 섹션3 - 문자열 탐색 / 2. 유효한 팰린드롬 (0) | 2023.01.12 |
---|---|
[인프런] Node.js / 섹션3 - 문자열 탐색 / 1. 회문 문자열 (0) | 2023.01.12 |
[인프런] Node.js / 섹션2 - 1, 2차원 탐색 / 6. 격자판 최대합 (0) | 2023.01.09 |
[인프런] Node.js / 섹션2 - 1, 2차원 탐색 / 5. 등수구하기 (0) | 2023.01.08 |
[인프런] Node.js / 섹션2 - 1, 2차원 탐색 / 4. 점수계산 (0) | 2023.01.08 |