[2차원 배열]격차판 최대 합

jinny·2021년 9월 23일

Algorithm

목록 보기
22/34
post-thumbnail

N*N의 격자판의 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력

let solution = (arr) => {
    let n = arr.length;
    let colSum = rowSum = diagSum = RdiagSum = 0;
    let answer = 0;
  
    for(let i=0; i<n; i++){
        colSum = rowSum = 0;
      
        for(let j=0; j<n; j++){
            colSum += arr[j][i];
            rowSum += arr[i][j];
        }
        answer = Math.max(answer, colSum, rowSum);
    }
  
    for(let i=0; i<n; i++){
        diagSum += arr[i][i];
        RdiagSum += arr[i][n-i-1];
        answer = Math.max(answer, diagSum, RdiagSum);
    }
    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));  // 155




profile
주니어 개발자의 기록

0개의 댓글