Compare the Triplets

Problem

Alice dan Bob masing-masing mendapat rating dalam tiga kategori: clarity, originality, difficulty. Bandingkan setiap kategori:

  • a[i] > b[i] → Alice +1

  • a[i] < b[i] → Bob +1

  • a[i] == b[i] → tidak ada poin

Input

  • Baris 1: 3 integer → rating Alice (a)

  • Baris 2: 3 integer → rating Bob (b)

Output

  • Array [Alice_score, Bob_score]

Contoh

Input:
5 6 7
3 6 10

Output:
1 1

Intuisi

Bandingkan elemen per indeks (0, 1, 2). Gunakan dua akumulator: alice dan bob. Tambah poin sesuai aturan perbandingan.


Contoh Langkah-demi-Langkah

a = [5, 6, 7], b = [3, 6, 10]
i=0: 5 > 3 → Alice +1 → [1, 0]
i=1: 6 == 6 → tidak ada poin → [1, 0]
i=2: 7 < 10 → Bob +1 → [1, 1]

Algoritma

alice = 0, bob = 0
untuk i dari 0 sampai 2:
    jika a[i] > b[i]: alice++
    jika a[i] < b[i]: bob++
kembalikan [alice, bob]
  • Waktu: O(1) (selalu 3 iterasi)

  • Ruang: O(1)


Implementasi

public static List<Integer> compareTriplets(List<Integer> a, List<Integer> b) {
    int alice = 0, bob = 0;
    for (int i = 0; i < 3; i++) {
        if (a.get(i) > b.get(i)) alice++;
        else if (a.get(i) < b.get(i)) bob++;
    }
    return Arrays.asList(alice, bob);
}
func compareTriplets(a []int, b []int) []int {
    alice, bob := 0, 0
    for i := 0; i < 3; i++ {
        if a[i] > b[i] {
            alice++
        } else if a[i] < b[i] {
            bob++
        }
    }
    return []int{alice, bob}
}

Ringkasan

Bahasa
Kode Inti
Kompleksitas

Java

if (a.get(i) > b.get(i)) alice++; else if (...) bob++;

O(1)

Go

if a[i] > b[i] { alice++ } else if a[i] < b[i] { bob++ }

O(1)

Last updated