ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Diagonal Difference
    개발 모음집/HackerRank 2021. 1. 17. 20:52

    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.

    diagonalDifference takes the following parameter:

    • int arr[n][m]: an array of integers

    Return

    • int: the absolute diagonal difference

    Input Format

    The first line contains a single integer, , the number of rows and columns in the square matrix .
    Each of the next  lines describes a row, , and consists of  space-separated integers .

    Constraints

    •  

    Output Format

    Return 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

    #!/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(arr):
        # Write your code here
        left_diagonal = 0
        right_diagonal = 0
        #print (len(arr[0]))
        for i in range(len(arr)):
            left_diagonal = left_diagonal + arr[i][i]
            right_diagonal = right_diagonal + arr[i][len(arr)-i-1]
    
        result = abs(left_diagonal - right_diagonal)
        return result
    
    
    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(arr)
    
        fptr.write(str(result) + '\n')
    
        fptr.close()
    

    '개발 모음집 > HackerRank' 카테고리의 다른 글

    Birthday Cake Candles  (0) 2021.01.17
    Mini-Max Sum  (0) 2021.01.17
    Staircase  (0) 2021.01.17
    Plus Minus  (0) 2021.01.17
    A Very Big Sum  (0) 2021.01.17
    Compare the Triplets  (0) 2021.01.17
    Simple Array Sum  (0) 2021.01.17
    Solve Me First  (0) 2021.01.17
Designed by Tistory.