 Recent Tutorials and Articles
Hackerrank Solution: Diagonal Difference
Published on: 25th May 2018

This tutorial provides Java and Python solution to diagonal difference problem of Hackerrank.

# Hackerrank Challenge Details

### Problem Statement:

Given a square matrix of size N X N, calculate the absolute difference between the sums of its diagonals.

### Input Format:

The first line contains a single integer, N. The next N lines denote the matrix's rows, with each line containing N space-separated integers describing the columns.

### Output Format:

Print the absolute difference between the two sums of the matrix's 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``````

# Solution Details

## Java Implementation:

``````package com.saintech.allprogtutorials.hackerrank.algos;

import java.util.Scanner;

/**
* @author Sain Technology Solutions
*
* Solution to Problem - https://www.hackerrank.com/challenges/diagonal-difference
*/
public class DiagonalDifference {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
final int N = Integer.parseInt(in.nextLine());
long diff = 0;
for(int i=0; i < N; i++) {
String[] row = in.nextLine().split(" ");
diff += (Integer.parseInt(row[i]) - Integer.parseInt(row[N - 1 - i]));
}

System.out.println(Math.abs(diff));

in.close();
}
}``````

## Python Implementation:

``````#!/bin/python

import sys

N = int(raw_input())
difference = 0
for i in xrange(N):
row = raw_input().split()
difference += (int(row[i]) - int(row[N-1-i]))
print abs(difference)``````

Thank you for reading through the tutorial. In case of any feedback/questions/concerns, you can communicate same to us through your comments and we shall get back to you as soon as possible.

Published on: 25th May 2018