Diagonal Difference (easy)
link -
https://www.hackerrank.com/challenges/diagonal-difference/problem?h_r=profile
Diagonal Difference | HackerRank
Calculate the absolute difference of sums across the two diagonals of a square matrix.
www.hackerrank.com
1. 문제 파악하기
- 입력: 정사각형 길이 n, 정사각형 해당하는 이차원 배열
3
11 2 4
4 5 6
10 8 -12
- 대각선 2개에 위치한 값의 합을 각각 더하고, 각 합의 차에 대한 절대값을 구한다
2. 아이디어
- 각 대각선을 더하는 index를 구해보면
   0~n 까지 for문을 돌며 
   - \ 방향에 대한 인덱스 규칙 : arr[ i ][ i ]
   - / 방향에 대한 인덱스 규칙 : arr[ i ][ n - i - 1 ] 
3. 풀이
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | fun diagonalDifference(n: Int, arr: Array<Array<Int>>): Int {     var a = 0     var b = 0     for(i in 0 until n) {         a += arr[i][i]         b += arr[i][n-i-1]     }     return Math.abs(a-b) } fun main(args: Array<String>) {     val n = readLine()!!.trim().toInt()     val arr = Array<Array<Int>>(n, { Array<Int>(n, { 0 }) })     for (i in 0 until n) {         arr[i] = readLine()!!.trimEnd().split(" ").map{ it.toInt() }.toTypedArray()     }     val result = diagonalDifference(n, arr)     println(result) } | cs | 
'HackerRank' 카테고리의 다른 글
| [HackerRank] Staircase - Kotlin (0) | 2021.07.08 | 
|---|---|
| [HackerRank] Plus Minus - Kotlin (0) | 2021.07.05 | 
| [HackerRank] Compare the Triplets - Kotlin (0) | 2021.07.02 | 
| [HackerRank] Simple Array Sum - Kotlin (0) | 2021.07.02 | 
| Hacker Rank 시작하기 (0) | 2021.07.02 |