DEV Community

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

Posted on

3 2

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)

Visualizing Promises and Async/Await 🤯

async await

Learn the ins and outs of Promises and Async/Await!

Instrument, monitor, fix: a hands-on debugging session

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️