• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

로직 질문

21.04.05 13:50 작성 조회수 126

1

안녕하세요. 좋은 강의 잘듣고 있습니다. 대각선의 합을 구할때 따로 for문으로 빼신걸 고쳐보았는데 로직 검증 한번 부탁드리겠습니다.

function solution(arr) {
  let answer = Number.MIN_SAFE_INTEGER; // 가장 작은 값 설정
  let n = arr.length;
  let columnSum = 0;
  let rowSum = 0;
  let firstDiagonalSum = 0;
  let secondDiagonalSum = 0;
  for (let i = 0; i < n; i++) {
    columnSum = rowSum = 0; // 0으로 초기화
    for (let j = 0; j < n; j++) {
      columnSum += arr[i][j]; // column 합
      rowSum += arr[j][i]; // row 합
    }
    answer = Math.max(answer, columnSum, rowSum);
    firstDiagonalSum += arr[i][i]; // 첫번째 대각선 합
    secondDiagonalSum += arr[i][n - i - 1]; // 두번째 대각선 합
    if (i === n - 1) {
      answer = Math.max(answer, firstDiagonalSum, secondDiagonalSum);
    }
  }
  return answer;
}

답변 2

·

답변을 작성해보세요.

0

답변 감사합니다 ^^

0

안녕하세요^^

네 좋은 코드입니다.