문제
내가 푼 방법
<html>
<head>
<meta charset="UTF-8" />
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr) {
let answer = 0;
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length; j++) {
if (
arr[i][j] > arr[i - 1][j] &&
arr[i][j] > arr[i][j - 1] &&
arr[i][j] > arr[i + 1][j] &&
arr[i][j] > arr[i][j + 1]
) {
answer += 1;
}
}
}
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));
</script>
</body>
</html>
음.. 헛짓거리했다 ..^^
해답
<html>
<head>
<meta charset="UTF-8" />
<title>출력결과</title>
</head>
<body>
<script>
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));
</script>
</body>
</html>
'Javascript 코테준비 > 섹션2' 카테고리의 다른 글
6. 격자판 최대합 (0) | 2022.09.27 |
---|---|
5. 등수 구하기 (0) | 2022.09.16 |
4. 점수 계산 (0) | 2022.09.12 |
3. 가위 바위 보 (1) | 2022.09.12 |
2. 보이는 학생 (0) | 2022.09.12 |