인프런 커뮤니티 질문&답변

열씨미살자!님의 프로필 이미지
열씨미살자!

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

6. 격자판 최대합

로직 질문

작성

·

171

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

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

네 좋은 코드입니다.

열씨미살자!님의 프로필 이미지
열씨미살자!

작성한 질문수

질문하기