1. Studi Kasus
Di sistem perbankan / payment gateway, rekonsiliasi harian mencocokkan transaksi Debit (pengeluaran) dengan transaksi Kredit (pemasukan) yang memiliki jumlah yang saling melengkapi ke nilai targetSum.
Anda diminta membuat fungsi rekonsiliasi:
function findReconciledPairs(transactions, targetSum)
⏱️ Alokasi Waktu Live Coding (20 Menit):
- 5 Menit Pertama: Memahami problem $O(N)$ Hash Map lookup vs $O(N^2)$ brute force.
- 15 Menit Koding: Menuliskan algoritma pencocokan pasangan id transaksi tanpa duplikasi penggunaan.
2. Requirement
- Input: array of transaction objects:
[{ id: "TX1", amount: 400 }, { id: "TX2", amount: 600 }, ...] dan integer targetSum.
- Temukan pasangan transaksi
[idA, idB] di mana amountA + amountB === targetSum.
- Setiap transaksi hanya boleh dipasangkan 1 kali (tidak boleh double count).
- Kembalikan array berisi pasangan transaksi yang berhasil direkonsiliasi.