🗃️javascript/코테 프레임 문제
2-6 격자판 최대합
하얀성
2024. 4. 15. 11:36
제출답안
각각 가로, 세로, 대각선의 합을 돌면서 구했다.
이중 반복문에는 세로, 대각선의 합을 구하는 함수를 구현해놓았다.
function solution(arr) {
let verticalArr = [];
let crossArr = [];
let crossSum = 0;
let backcrossSum = 0;
const checkHorizontal = [...arr].map((x) => {
return x.reduce((acc, count) => acc + count);
});
for (let i = 0; i < arr.length; i++) {
let verticalSum = 0;
crossSum += arr[i][i];
backcrossSum += arr[i][arr.length - 1 - i];
for (let j = 0; j < arr.length; j++) {
verticalSum += arr[j][i];
}
verticalArr.push(verticalSum);
}
crossArr.push(crossSum);
crossArr.push(backcrossSum);
return Math.max(...checkHorizontal, ...verticalArr, ...crossArr);
}
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));