DEV Community

Cover image for Menyelesaikan soal "Diagonal Difference" di HackerRank
Aris アリス
Aris アリス

Posted on

Menyelesaikan soal "Diagonal Difference" di HackerRank

Soal
Pada soal di atas kita diminta untuk mengitung selisih mutlak dari jumlah antara diagonal sebuah matriks persegi. Kali ini saya akan membagikan cara saya menyelesaikan soal tersebut menggunakan bahasa pemrograman javascript. Berikut kode pemrogramannya:

function diagonalDifference(arr) {
    let diagonal1 = 0;
    let diagonal2 = 0;

    arr.forEach((row, i) => {
        diagonal1 += row[i];
        diagonal2 += row[row.length - i - 1];
    });

    return Math.abs(diagonal1 - diagonal2);
}
Enter fullscreen mode Exit fullscreen mode

Pada kode di atas, saya membuat variabel diagonal1 dan diagonal2 untuk menyimpan jumlah dari elemen masing-masing diagonal. Di bawahnya, saya melakukan perulangan pada array arr dengan menggunakan forEach dan menjumlahkan nilai diagonal1 dan diagonal2 sesuai dengan indeks diagonalnya masing-masing. Terakhir, saya mengembalikan nilai selisih antara diagonal1 dan diagonal2.

Demikian yang bisa saya bagikan, apabila ada yang perlu dikoreksi atau Anda punya cara lain untuk menyelesaikan soal di atas silahkan share di kolom komentar. 😁

Top comments (0)