문제 ====== https://www.hackerrank.com/challenges/diagonal-difference/problem
Given a square matrix, calculate the absolute difference between the sums of its diagonals.
For example, the square matrix is shown below:
1 2 3 4 5 6 9 8 9
The left-to-right diagonal = . The right to left diagonal = . Their absolute difference is .
Function description
Complete the function in the editor below. It must return an integer representing the absolute diagonal difference.
diagonalDifference takes the following parameter:
- arr: an array of integers .
Input Format
The first line contains a single integer, , the number of rows and columns in the matrix .
Each of the next lines describes a row, , and consists of space-separated integers .
Constraints
- -100 <= arr[i][j] <= 100
Output Format
Print the absolute difference between the sums of the matrix's two diagonals as a single integer.
Sample Input
3
11 2 4
4 5 6
10 8 -12
Sample Output
15
Explanation
The primary diagonal is:
11 + 5 + (-12)
Sum across the primary diagonal: 11 + 5 - 12 = 4
The secondary diagonal is:
4 + 5 + 10
Sum across the secondary diagonal: 4 + 5 + 10 = 19
Difference: |4 - 19| = 15
Note: |x| is the absolute value of x
=====내 답
func diagonalDifference(arr [][]int32) int32 {
// Write your code here
a := int32(0)
b := int32(0)
lens := len(arr)
for i :=0 ; i < lens ; i++{
a += arr[i][i]
b += arr[i][lens - i -1]
}
if a - b < 0 {
return -(a-b)
}else{
return a-b
}
}
'해커랭크 > 알고리즘' 카테고리의 다른 글
선택 정렬 - Golang (0) | 2019.12.03 |
---|