sibervepunk

Advent Of Code Kılavuzu

Bu yazıyı Bilgisayar Kavramları Topluluğu için hazırladım. Topluluğa üye olmak için linke tıklayabilirsiniz.

Advent Of Code Nedir?

2015 yılından beri, her yıl 1 Aralık’tan 25 Aralık’a kadar her gün 2 parçadan oluşan bir puzzle yayınlanıyor. Bunlar, istediğiniz herhangi bir programlama dilinde çözülebilen, çeşitli beceri seviyelerine uygun küçük programlama bulmacalarından oluşan bulmacalar. Bu da katılım için bilmeniz gerekenlerle ilgili küçük bir giriş kılavuzu. Tüm detaylı bilgiler için siteyi keşfetmenizi ve about kısmını mutlaka okumanızı öneririm.

Trivia: Advent of Code advent calendar konseptinden esinleniyor. Hikayesine bakabilirsiniz :)

Nasıl Oynanır?

Bu yıl AoC deneyimi 12 gün sürecek. Yani 1 Aralık’tan 12 Aralık’a kadar her gün bir bulmaca açılacak.

Bulmacalara Advent Of Code sitesinde ücretsiz bir hesap açarak ulaşabilirsiniz. 2025’in ilk bulmacası Türkiye saatiyle 1 Aralık 08:00’da gelecek ve ondan sonra 12 gün boyunca her gün aynı saatte gelmeye devam edecek.

Yapmanız gereken günün sorusunu detaylıca okuyup problemi anlamak. Bulmacalar bir hikayeye anlatısı şeklinde geliyor. Fakat hikayeden soyutlanan bir problem oluyor.

Her problem için de bir input veriyorlar size. Problemi çözen kodu yazdıktan sonra input’u vererek cevabı üretiyorsunuz. Sadece elde ettiğiniz cevabı bekliyorlar sizden, herhangi bir kod, çözüm yolu vs. göndermiyorsunuz. Bu yüzden istediğiniz, aklınıza gelen herhangi bir yöntemle çözebilirsiniz.

Her günün bulmacası iki parçadan oluşuyor. İlk kısmı çözünce ikinci kısım açılıyor. Aynı input ile ikinci kısmı da çözerseniz günün yıldızlarını toplamış oluyorsunuz.

Örnek bir bulmaca

Tamamen örnek olan bir bulmaca örneği koyuyorum. Çözüm mantığını böylece anlayabilirsiniz.

Soru: Noel Baba’nın oyuncak fabrikasında, hediye paketleme bandı biraz bozulmuş durumda. Bandın üzerindeki her kutunun ağırlığı bir sayı ile temsil ediliyor. Noel hediyeleri müfettişi olarak senin görevin, oyuncak fabrikasi tüm kutuların toplam ağırlığını hesaplayıp rapor etmek.

Soruyu çözmeye hazır olduğunda, inputu buradan indirebilirsin:

5
8
3
4

Kutuların toplam ağırlığı kaçtır?

Genelde yukardaki gibi (tabii ki çözmesi on saniyeden fazla süren) sorular geliyor. Input listesi de böyle veriliyor.

Bu soruyu çözmek için hikayeyi elersek elimizde kalan soyutlanmış problem:

Verilen bir sayı listesinin toplamını bulun.

Arka planda kod editörünüzü açacak, bir dosyadan veri okuyup listedeki elemanları toplayacak ve sonucu yazdıracak olan bir kodu, istediğiniz dilde istediğiniz şekilde yazıyorsunuz. Bulduğunuz son sayıyı (20) sitedeki cevap alanına yazıyorsunuz.

İkinci aşamada da soruyu güncelliyorlar. Örneğin "Noel Baba, ağırlığı sadece 10’dan fazla olan hediyeleri rapora eklemek istiyor, yeni toplamı bulun.”

Burada da kodunuzu duruma uygun şekilde güncelleyip yeni cevabı yazıyorsunuz.

Not: inputlar herkese farklı geliyor, o yüzden herkesin cevabı farklı oluyor.

Seviyeme uygun mu?

Advent of Code tam olarak bir programlama seviyesi gerektirmiyor. Aslında gereken en büyük beceri problemleri anlayıp soyutlayabilmek ve çözüm üretebilmek. Bunu yaptıktan sonra çoğu bulmaca en temel programlama konseptlerini bilen birisi tarafından çözülebiliyor. Tabi eğer rekabetçi olarak katılım sağlıyorsanız, çözüme ne kadar hızlı ulaştığınız, dolayısıyla ne kadar iyi kod yazabildiğiniz fark yaratmış oluyor.

Geç kalmış olsanız da sorular bir kez açıldıktan sonra (her gün bir tanesi) istediğiniz zaman geriden de olsa yetişebilirsiniz. Her gün aynı vakitte tamamlamak zorunda değilsiniz, bazı sorular sizin için daha uzun sürse bile yetişmek için bolca vaktiniz var.

Genel İpuçları

Bilgisayar Kavramları Topluluğunda Advent Of Code - 2025

2025 Advent of Code’u bilgisayar kavramları topluluğu olarak kendi aramızda eğlenceli bir mini- hackathon olarak değerlendireceğiz.

Bilgisayar Kavramları Topluluğuna özel bir lider panomuz var. 12 gün boyunca katılım sağlayarak siz de yarışabilirsiniz.

Katılmak için yapmanız gerekenler:

Önemli not: Bulmacalar sırasında yapay zekadan yardım almamanızı önemle rica ediyoruz. Yapay zekanın problem çözme becerisini öğrenmek istemiyoruz. Kendi aramızda, adil ve eğlenceli bir süreç istiyoruz. Projenin sitesinden alıntı:

Advent of Code bulmacalarını çözmek için yapay zeka kullanmalı mıyım? Hayır. Bir arkadaşınızı sizin adınıza spor salonuna gönderirseniz, güçlenmeyi bekler misiniz? Advent of Code bulmacaları, insanların çözmesi için ilgi çekici olacak şekilde tasarlanmıştır; yapay zekanın bir bulmacayı çözüp çözemeyeceği dikkate alınarak değil. Bir yapay zeka prompt verme pratiği yapmak istiyorsanız, bunu göz önünde bulundurarak tasarlanmış başka yerlerde kesinlikle daha iyi egzersizler olacaktır.


Okuduğunuz için teşekkürler. Konuyla ilgili ekleme, düzeltme yapmak ya da tartışmak isterseniz memnuniyetle karşılık veririm.

sibervepunk@gmail.com