Modul NodeJS: Perbandingan Nilai Alice Dan Bob

SOAL 

Alice dan Bob masing-masing membuat satu soal untuk tugas kuliah. Seorang dosen menilai dua orang tersebut, memberikan poin pada skala dari 1 hingga 100 untuk tiga kategori: kejelasan soal, orisinalitas, dan kesulitan.

Nilai untuk Alice adalah triplet a = (a[0], a[1], a[2]), dan nilai untuk Bob adalah triplet b = (b[0], b[1] , b[2]).

Tugasnya adalah menemukan titik perbandingannya dengan membandingkan a[0] dengan b[0], a[1] dengan b[1], dan a[2] dengan b[2].

Jika a[i] > b[i], maka Alice diberikan 1 poin.

Jika a[i] < b[i], maka Bob diberikan 1 poin.

Jika a[i] = b[i], maka tidak ada orang yang menerima poin.

Poin perbandingan adalah total poin yang diperoleh seseorang.

Diberikan a dan b, tentukan titik perbandingannya masing-masing.

Ilustrasi oleh Harryarts - www.freepik.com.


ALGORITMA

1. start, dengan masukan variabel a dan b sebagai array yang berisi masing-masing 3 integer.

2. inisialisasi variabel result sebagai array yang berisi dua integer, variabel ini digunakan untuk menampung jawaban atau hasil dari fungsi ini.

3. inisialisasi variabel length = 3, digunakan untuk menampung jumlah data yang akan dibandingkan.

4. inisialisasi variabel index = 0.

5. jika index lebih kecil dari length, maka lanjut ke langkah 6,

    - jika tidak lanjut ke langkah 9.

6. jika nilai variabel a ke index lebih besar dari b ke index, maka tambahkan nilai variabel result ke 0, lanjut ke langkah 8, 

    - jika tidak lanjut ke langkah 7.

7. jika nilai variabel a ke index lebih kecil dari b ke index, maka tambahkan nilai variabel result ke 1, lanjut ke langkah 8, 

    - jika tidak lanjut ke langkah 8.

8. tambahkan nilai variabel index kembali ke langkah 5.

9. kembalikan nilai variabel result.

10. end.


SOURCE CODE

/*

 * Fungsi ini digunakan untuk mengembalikan INTEGER_ARRAY.

 * Fungsi menerima parameter berikut:

 * 1. INTEGER_ARRAY a

 * 2. INTEGER_ARRAY b

 */

function compareTriplets(a, b) {

    let result = [0, 0];

    let length = 3;

    for(let index = 0; index < length; index++){

        if(a[index] > b[index]) result[0]++;

        else if(a[index] < b[index]) result[1]++;

    }

    return result;

}

 

PEMBAHASAN

Misal:

a = [1, 2, 3]

b = [3, 2, 1]

Untuk elemen *0*, Bob diberikan poin karena a[0] < b[0].

Untuk elemen yang sama a[1] dan b[1], tidak ada poin yang diperoleh.

Akhirnya, untuk elemen 2, a[2] > b[2] jadi Alice menerima poin.

Array kembali adalah [1, 1] dengan skor yang pertama adalah untuk Alice dan yang kedua untuk Bob.


DESKRIPSI FUNGSI

Fungsi compareTriplets memiliki parameter berikut:

int a[3]: Nilai Alice

int b[3]: Nilai Bob


Kembalian

int[2]: Nilai pertama adalah milik Alice, dan yang kedua adalah milik Bob.


Format Masukan

Baris pertama berisi 3 bilangan bulat yang dipisahkan spasi, a[0], a[1], dan a[2], masing-masing nilai dalam triplet a.

Baris kedua berisi 3 bilangan bulat yang dipisahkan spasi, b[0], b[1], dan b[2], masing-masing nilai dalam triplet b.


Batasan

1 < a[i] <= 100

1 < b[i] <= 100


CONTOH 1

Masukan

a = [5 6 7]

b = [3 6 10]


Keluaran

result = [1 1]


Penjelasan

Dalam contoh ini:

a = (a[0], a[1], a[2]) = (5, 6, 7)

b = (b[0], b[1], b[2]) = (3, 6, 10)

Sekarang, mari kita bandingkan setiap skor individu:

a[0] > b[0], jadi Alice menerima 1 poin.

a[1] = b[1], jadi tidak ada yang menerima poin.

a[2] < b[2], jadi Bob menerima 1 poin.

Skor perbandingan Alice adalah 1, dan skor perbandingan Bob adalah 1. Jadi kembalian array adalah [1, 1].


CONTOH 2

Masukan

a = [17 28 30]

b = [99 16 8]


Keluaran

result = [2 1]


Penjelasan

Membandingkan elemen ke 0, 17 < 99 jadi Bob menerima satu poin.

Membandingkan elemen ke 1 dan 2, 28 > 16 dan 30 > 8 sehingga Alice menerima dua poin.

Kembalian array adalah [2, 1].


Modul NodeJS: Perbandingan Nilai Alice Dan Bob Modul NodeJS: Perbandingan Nilai Alice Dan Bob Reviewed by Syafriansyah Muhammad on 2/18/2022 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.