본문 바로가기

Javascript 코테준비/섹션2

7. 봉우리

문제 

 

 

 


 

 

 

 

내가 푼 방법 

 

<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