2022/01/03) 7. 奉宥利[1,2次元探索]
1.質問
『奉宥利』
:どの格子にもその地域の高さが書いてあります.各格子板の数字の中で、自分の上下左右の数字より大きいのがピークエリアです.いくつのピーク地域があるかを知るプログラムを作成します.
メッシュのエッジをゼロに初期化するとします.
上記のように、ピークは10個です
2.解決方法
arr[i][j]を基準にarr[nx][ny](上下左右)を比較する.
(nx>=0&nx
3.正解
<script>
function solution(arr){
//상하좌우비교하여 제일 큰 숫자만 출력. => 4방향 다 비교해보고 큰 게 없으면 카운팅을 한다.
let answer = 0;
let n = arr.length;
let dx = [0,1,0,-1];
let dy = [-1,0,1,0];
for(let i = 0; i < n; i++){
for(let j = 0; j < n; j++){
let flag = 1;
for(let k=0; k<4; k++){ //dx dy를 돌릴 for문
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>
4.私のコードとの比較と反省
今回本当に好きな誰かが何日か遊びに来ました.その言い訳で勉強する.申し訳ありません...そして、今回の問題が2次元問題だとは思いもよらなかった.あなたはまだ2次元を完全に理解していないようです.今回はちょっと難しかったです.x y方向は混同されない.ただ街の物のため、与えられた条件はまだ理解しています...次の日にもう一度理解してnxにiを加えるか、jにjを加えるかを考えるだけで、iは横、jは縦を担当するので、iを加えるのが正解です!
Reference
この問題について(2022/01/03) 7. 奉宥利[1,2次元探索]), 我々は、より多くの情報をここで見つけました https://velog.io/@7lo9ve3/20220103-6.-격자판-최대합-12차원-탐색テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol