Notes & software courses · Free to learn
Aph's Blog
On this page

โจทย์ฝึกเขียนโปรแกรม — ภาพรวม & วิธีใช้

👋 อ่านฟรีทั้งหมดบน Aph's Blog — เนื้อหาภาษาไทย ทำตามทีละหน้าใน sidebar ได้เลย หากมีข้อเสนอแนะหรืออยากให้เพิ่มหัวข้อไหน บอกได้เสมอ

ฝึกจริงคือทางเดียวที่จะเขียนโปรแกรมเป็น — โจทย์ทุกข้อมีเฉลยละเอียดเป็น Python ให้เปิดดูหลังลองทำเอง

คอร์ส "เขียนโปรแกรมจากศูนย์" สอนแนวคิด ส่วนคอร์สนี้คือสนามฝึก การอ่านเข้าใจกับการลงมือทำได้เองเป็นคนละเรื่อง โจทย์ที่นี่จัดเรียงจากง่ายไปยากตามหัวข้อเดียวกับคอร์สหลัก ทุกข้อมีเฉลยพร้อมคำอธิบายซ่อนไว้ — กดเปิดดูได้เมื่อพยายามเองแล้ว

วิธีใช้ให้ได้ผลที่สุด

อย่าเพิ่งเปิดเฉลย! ลองเขียนโค้ดเองที่ replit.com ก่อนอย่างน้อย 10–15 นาที แม้ทำไม่ได้แต่การ "ดิ้นรน" คือช่วงที่สมองเรียนรู้มากที่สุด เปิดเฉลยเมื่อทำเสร็จ (เพื่อเทียบ) หรือเมื่อติดจริง ๆ แล้วเท่านั้น

ขั้นตอนการแก้โจทย์ (UMPIRE)

เทคนิคที่ใช้ได้กับทุกโจทย์ ฝึกให้ติดเป็นนิสัย แล้วเวลาเจอโจทย์สัมภาษณ์จริงจะไม่ตื่นเต้น

  1. Understand — อ่านโจทย์ให้เข้าใจ: input คืออะไร output ที่ต้องการคืออะไร
  2. Match — โจทย์นี้คล้ายแบบที่เคยทำไหม ใช้เทคนิค/โครงสร้างข้อมูลอะไร
  3. Plan — วางขั้นตอนเป็นภาษาคน (pseudocode) ก่อนลงโค้ด
  4. Implement — เขียนโค้ดตามแผน
  5. Review — ตรวจ edge case: ค่าว่าง, ตัวเดียว, ค่าซ้ำ, ค่าติดลบ
  6. Evaluate — วิเคราะห์ว่าเร็วแค่ไหน (Big-O) ปรับให้ดีขึ้นได้ไหม

หัวข้อทั้งหมด

ระดับความยาก

สัญลักษณ์ระดับควรทำได้ภายใน
🟢ง่าย — ใช้ความรู้พื้นฐานตรง ๆ5–10 นาที
🟡ปานกลาง — ต้องผสมหลายแนวคิด15–25 นาที
🔴ยาก — ต้องใช้เทคนิคเฉพาะ30+ นาที
ทำไม Python

ทุกเฉลยเขียนเป็น Python ให้ตรงกับคอร์สหลัก แต่ตรรกะการแก้โจทย์ใช้ได้กับทุกภาษา ถ้าคุณถนัดภาษาอื่นก็ลองแปลงเฉลยเป็นภาษานั้นเป็นการฝึกเพิ่มได้