1 poin oleh GN⁺ 2024-12-02 | 1 komentar | Bagikan ke WhatsApp
  • Advent of Code yang dibuat oleh Eric Wastl adalah acara online yang menyediakan berbagai teka-teki pemrograman dan dapat diselesaikan dengan beragam bahasa pemrograman.

  • Digunakan untuk berbagai tujuan seperti persiapan wawancara, pelatihan perusahaan, tugas kuliah, soal latihan, dan kompetisi kecepatan.

  • Bahkan tanpa latar belakang ilmu komputer, siapa pun dapat ikut serta asalkan memiliki sedikit pengetahuan pemrograman dan kemampuan pemecahan masalah.

  • Tips umum

    • Jika buntu saat menyelesaikan masalah, Anda dapat menggunakan contoh yang disediakan pada puzzle untuk memverifikasi solusi.
    • Jika contohnya tidak berhasil, baca kembali penjelasannya dan pastikan program berjalan sesuai harapan.
    • Jika masih belum terpecahkan, Anda bisa meminta bantuan teman atau mencobanya lagi nanti.
  • Pertanyaan yang sering diajukan

    • Untuk memilih blok kode, aktifkan JavaScript lalu klik blok kode tiga kali.
    • Advent of Code menggunakan OAuth untuk menangani autentikasi, dan informasi pribadi pengguna tidak akan terekspos selain informasi yang memang dipublikasikan.
    • Keputusan untuk ikut leaderboard global atau tidak dapat ditentukan berdasarkan tujuan masing-masing.
    • Tingkat kesulitan puzzle bervariasi selama periode acara, dan bisa terasa berbeda tergantung tingkat kemampuan masing-masing.
    • Puzzle dibuka pada tengah malam (EST/UTC-5), karena itu adalah waktu yang dapat dikelola operator secara stabil.
    • Jika teks di situs sulit dibaca, Anda dapat menggunakan mode kontras tinggi.
    • Ide puzzle tidak diterima karena masalah hukum.
    • Jika Anda merasa ada bug pada puzzle, Anda dapat bertanya terlebih dahulu di subreddit.
    • Saat melakukan streaming solusi, sebaiknya hindari melakukannya ketika orang lain masih sedang berkompetisi.
    • Menggunakan AI untuk naik ke leaderboard global tidak dianjurkan.
  • Kredit

    • Puzzle, kode, desain: Eric Wastl
    • Pengujian beta: Tim Giannetti, Ben Lucek, JP Burke, Aneurysm9, Andrew Skalski
    • Manajer komunitas: Danielle Lucek, Aneurysm9
  • Pemberitahuan hukum

    • Advent of Code adalah merek dagang terdaftar di Amerika Serikat, dan elemen desain, bahasa, gaya, serta konsep merupakan milik Advent of Code.
    • Anda boleh menautkan atau merujuk puzzle, tetapi dilarang menyalin atau mendistribusikan ulang bagian mana pun dari Advent of Code.

1 komentar

 
GN⁺ 2024-12-02
Komentar Hacker News
  • Sudah 4 tahun menggunakan bahasa Go, dan merasa bahasa ini tidak cocok untuk pemecahan masalah. Struktur data dasar di pustaka standarnya kurang, dan untuk bahasa yang dikompilasi pun kecepatannya terasa lambat
  • Sangat menyukai AoC, dan selama 2-3 tahun terakhir mengerjakannya dengan Rust. Di Discord, saya belajar berbagai optimasi performa, algoritme tingkat lanjut, dan SIMD untuk mencari solusi tercepat
    • Kali ini saya akan mencobanya dengan Rust dan Golang, untuk melihat apakah saya jadi menyukai atau setidaknya bisa menoleransi Golang, atau justru membuktikan hipotesis bahwa Golang memang kurang bagus
  • Tantangan menulis parser input yang makin lama makin kompleks selama 25 hari dimulai lagi
  • Tahun ini saya akan mencobanya di NES (Nintendo Entertainment System)
    • Karena RAM-nya terbatas (2KiB, dengan tambahan 8KiB di kartrid), beberapa soal mungkin mustahil diselesaikan, tetapi saya berencana menyelesaikan sebanyak mungkin
    • Soal hari ini bisa diselesaikan dalam kurang dari 4 detik dengan menggunakan tambahan RAM 4KiB di kartrid
  • Tantangan tahun ini adalah menulisnya dalam C tanpa pustaka standar maupun allocator agar bisa dijalankan di STM32
    • Dua tahun lalu saya sempat mencoba dengan assembly, tetapi setelah menghabiskan banyak waktu menulis pustaka standar assembly, saya menyerah dan beralih ke Rust
  • Biasanya saya mengerjakan AoC dengan Common Lisp, tetapi tahun ini sedang mencoba Swift
    • Untuk bahasa mainstream bertipe statis, ini ternyata tidak buruk untuk pekerjaan seperti ini
    • Kode Swift AoC
  • Tahun ini saya sempat mengorganisasi acara di tempat kerja baru, tetapi akhirnya sadar saya tidak bisa bekerja dengan atasan baru dan harus pergi
    • Saya merasa sangat bermanfaat jika para developer belajar memecahkan masalah nyata alih-alih sekadar merangkai framework
    • Pada akhirnya sepertinya saya akan kembali bersama Emacs seperti biasa
  • Saya sudah menyelesaikan seluruh masalahnya, dan ini adalah masalah bisnis. Tinggal mengganti kepala sejarawan
  • Sementara ada orang-orang yang menantang diri dengan Common Lisp dan pustaka standar C, saya masih mencoba memanggil curl untuk mengunduh file data
  • Tahun lalu saya terhenti selama seminggu di hari ke-12 dan menghabiskan seluruh waktu untuk memikirkan cara menyelesaikannya. Tahun ini saya akan lebih baik pada diri sendiri, tidak ikut berpartisipasi, dan menikmati liburan musim dingin
  • Tahun ini saya berencana mencobanya dengan F# dan Gleam, tetapi seperti setiap tahun, sepertinya saya tidak akan punya cukup waktu dan energi mental untuk lewat dari hari ke-10 atau ke-12
    • Saya merekomendasikan pengguna Python untuk mencoba F#: rasanya bisa sangat mirip dengan scripting, dan juga menyediakan REPL yang hebat