5*5 격자판에 아래와 같이 숫자가 적혀있습니다.
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
N X N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합니다.
<html>
<head>
<meta charset="UTF-8" />
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr) {
// 각 행과 열의 합을 담아낼곳을 정하자
// 행과 열을 탐색 (2차원배열)=> arr[행][열]
// 2중 for문을 돌려보자.
let answer = 0
let rowSum = 0
let columnSum = 0
for (let i = 0; i < arr.length; i++) {
rowSum = 0
columnSum = 0
for (let j = 0; j < arr.length; j++) {
rowSum += arr[i][j]
columnSum += arr[j][i]
// console.log(columnSum)
}
answer = Math.max(answer, rowSum, columnSum)
}
rowSum = 0
columnSum = 0
for (let i = 0; i < arr.length; i++) {
rowSum += arr[i][i]
columnSum += arr[i][arr.length - 1 - i]
}
answer = Math.max(answer, rowSum, columnSum)
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))
</script>
</body>
</html>