Showing posts with label hackerrank solution in python. Show all posts
Showing posts with label hackerrank solution in python. Show all posts

Monday, October 7, 2019

Diagonal Difference

Diagonal Difference




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
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

Solution:

#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the 'diagonalDifference' function below.
# The function is expected to return an INTEGER.
# The function accepts 2D_INTEGER_ARRAY arr as parameter.
def diagonalDifference(n,arr):
    # Write your code here
    sum1=0
    sum2=0
    for i in range(n):
        for j in range(n):
            if i==j:
                sum1+=arr[i][j]
            if i+j==n-1:
                sum2+=arr[i][j]
    return abs(sum1-sum2)


if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    n = int(input().strip())

    arr = []

    for _ in range(n):
        arr.append(list(map(int, input().rstrip().split())))

    result = diagonalDifference(n,arr)
    print(result)

    fptr.write(str(result) + '\n')

    fptr.close()



Diagonal Difference

Diagonal Difference Given a square matrix, calculate the absolute difference between the sums of its diagonals. For example,...