Pelajaran 1.1
Anatomi soal tes
5 menit · 7 langkah
Langkah 1 dari 7 · Penjelasan
Soal tes logika hampir selalu punya lima bagian: deskripsi, signature (nama function dan parameternya), contoh input dan output, constraint, dan hidden test.
Kebanyakan orang langsung baca contoh lalu ngoding. Padahal jawaban untuk "kasus aneh apa yang harus aku tangani?" ada di constraint.
Langkah 2 dari 7 · Pilih pendekatan
Soal: "Return berapa angka di
numsyang lebih besar darik."
Constraint:0 ≤ nums.length ≤ 100.Bagian mana yang memberi tahu bahwa
numsbisa kosong?- Constraint
- Contoh
- Nama function
- Hidden test
Langkah 3 dari 7 · Tebak hasilnya
Soal: "Return berapa angka di
numsyang lebih besar darik." Kode ini mengikuti soal itu. Apa yang di-return untuknums = [4, 1, 7, 7]dank = 4?function solution(nums, k) { let count = 0 for (let i = 0; i < nums.length; i++) { if (nums[i] > k) count++ } return count}231
Langkah 4 dari 7 · Penjelasan
Contoh yang terlihat biasanya mudah. Hidden test sengaja mengambil batas dari constraint: array kosong, satu item, angka negatif, angka sama, ukuran maksimal.
Kalau constraint bilang angka bisa negatif, anggap saja hidden test pasti memakai angka negatif.
Langkah 5 dari 7 · Tebak hasilnya
Soal: "Return angka terbesar di
nums." Constraint:1 ≤ nums.length,-100 ≤ nums[i] ≤ 100. Contoh[3, 9, 2]lolos. Apa hasil kode ini untuk hidden test[-5, -2, -8]?function solution(nums) { let best = 0 for (let i = 0; i < nums.length; i++) { if (nums[i] > best) best = nums[i] } return best}0-2-8
Langkah 6 dari 7 · Pilih pendekatan
Soal: "Return berapa kata di
wordsyang panjangnya lebih dari 3 huruf." Constraint:0 ≤ words.length ≤ 50.Apa yang harus di-return untuk
words = []?0undefinednull[]
Langkah 7 dari 7 · Ringkasan
- Soal punya lima bagian. Baca semuanya sebelum ngoding, terutama constraint.
- Kata kecil seperti "lebih besar dari" menentukan
>atau>=. - Hidden test mengambil batas dari constraint. Nilai awal seperti
best = 0sering gagal di sana. - Tipe output tetap sama, bahkan untuk input kosong.