Skip to content

Instantly share code, notes, and snippets.

@josephbima
Created May 5, 2026 04:16
Show Gist options
  • Select an option

  • Save josephbima/9b63cd25b245ab2dd690cec5e11a838f to your computer and use it in GitHub Desktop.

Select an option

Save josephbima/9b63cd25b245ab2dd690cec5e11a838f to your computer and use it in GitHub Desktop.

Coding Problem 1 β€” Two Sum

Estimated time: 15 menit Bahasa: Bebas (Go, Node.js, TypeScript, Python, dll β€” pilih yang paling nyaman)


🧩 Soal

Bayangkan kita punya sistem reconciliation di payment gateway. Setiap hari kita dapat list transaksi, dan kita perlu cari pasangan transaksi (debit & credit) yang nominalnya kalau dijumlah persis sama dengan target settlement amount.

Diberikan sebuah array integer nums dan sebuah integer target. Return index dari dua angka di dalam array yang kalau dijumlahkan hasilnya sama dengan target.

Asumsi

  • Setiap input punya tepat satu solusi.
  • Tidak boleh menggunakan elemen yang sama dua kali (index yang sama tidak boleh dipakai dua kali).
  • Urutan output bebas.

Contoh

Contoh 1:

Input:  nums = [2, 7, 11, 15], target = 9
Output: [0, 1]
Penjelasan: nums[0] + nums[1] = 2 + 7 = 9

Contoh 2:

Input:  nums = [3, 2, 4], target = 6
Output: [1, 2]
Penjelasan: nums[1] + nums[2] = 2 + 4 = 6

Contoh 3:

Input:  nums = [3, 3], target = 6
Output: [0, 1]

πŸ“‹ Function Signature

Pilih sesuai bahasa yang dipakai:

Go:

func twoSum(nums []int, target int) []int {
    // your code here
}

TypeScript / Node.js:

function twoSum(nums: number[], target: number): number[] {
    // your code here
}

Python:

def two_sum(nums: list[int], target: int) -> list[int]:
    # your code here
    pass

🎯 Yang Diharapkan

Saat mengerjakan, mohon:

  1. Think out loud β€” jelaskan pendekatan sebelum mulai coding.
  2. Diskusikan trade-off β€” kalau ada beberapa pendekatan, jelaskan kenapa pilih yang itu.
  3. Sebutkan complexity β€” time & space complexity dari solusi akhir.
  4. Pertimbangkan edge case β€” apa yang harus di-handle?

Selamat mengerjakan! πŸš€

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment