[문제]
Given a square matrix, calculate the absolute difference between the sums of its diagonals.
1 2 3
4 5 6
9 8 9
The left-to-right diagonal 1+5+9=15 . The right to left diagonal 3+5+9=17.
Their absolute difference is 2.
[해답]
function diagonalDifference(arr) {
let sum1=0;
let sum2=0;
for(let i=0;i<arr.length;i++){
sum1 += arr[i][i]
sum2 += arr[i][(arr.length-1)-i]
}
return Math.abs(sum1-sum2)
}
[나의 해석]
for(let i=0;i<arr.length;i++){
sum1 += arr[i][i];
}
왼쪽 대각선은 arr[0][0], arr[1][1], arr[2][2] 값을 더하는 것이여서 반복문을 돌리면서 더한 값을 sum1에 넣어줬다.
오른쪽 대각선은 arr[0][2], arr[1][1], arr[2][0]인데, sum1과 같은 반복문에 넣었을 때, 어떤 규칙을 갖고 반복해야할지 헷갈렸다.
for(let i=0;i<arr.length;i++){
sum1 += arr[i][i]
sum2 += arr[i][(arr.length-1)-i]
}
Math.abs(sum1-sum2)