격자판 최대합

bkboy·2022년 5월 17일
0
post-custom-banner

문제


N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합
니다.

제한사항

입출력 예

풀이

function solution(arr) {
  let answer = Number.MIN_SAFE_INTEGER;
  let n = arr.length;
  for (let i = 0; i < n; i++) {
    let sum1 = (sum2 = 0);
    for (let j = 0; j < n; j++) {
      sum1 += arr[i][j];
      sum2 += arr[j][i]; 
    }
    answer = Math.max(answer, sum1, sum2);
  }
  let sum1 = (sum2 = 0);
  for (i = 0; i < n; i++) {
    sum1 += arr[i][i];
    sum2 += arr[i][n - 1 - i]; 
  }
  answer = Math.max(answer, sum1, sum2);

  return answer;
}

let arr = [
  [10, 13, 10, 12, 15],
  [12, 39, 30, 23, 11],
  [11, 25, 50, 53, 15],
  [19, 27, 29, 37, 27],
  [19, 13, 30, 13, 19],
];
console.log(solution(arr));
  • 원리를 잘 이해하자!
profile
음악하는 개발자
post-custom-banner

0개의 댓글