❓ 격자판 최대합 : 최대값 갱신 idea

frenchkebab·2021년 8월 19일
0
post-thumbnail

최대값을 갱신하는 아이디어!

function solution(arr) {
  let sum_row,
    sum_col,
    sum_d1 = 0,
    sum_d2 = 0;
  let max_row_col = 0;

  for (let i = 0; i < arr.length; i++) {
    sum_row = 0;
    sum_col = 0;
    for (let j = 0; j < arr[i].length; j++) {
      sum_row += arr[i][j];
      sum_col += arr[j][i];
    }
    max_row_col = Math.max(max_row_col, sum_row, sum_col);
  }

  for (let i = 0; i < arr.length; i++) {
    sum_d1 += arr[i][i];
    sum_d2 += arr[i][arr.length - 1 - i];
  }

  let answer = Math.max(sum_d1, sum_d2, max_row_col);

  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));

문제가 이해가 잘 안됐는데...
각 세로줄 / 가로줄 / 대각선1 / 대각선2 중에서 최대값을 찾는 문제였음

profile
Blockchain Dev Journey

0개의 댓글