Fırat ACM – C0de N1ght ve Çözebildiklerimiz

Screenshot from 2018 12 09 14 37 14 - Fırat ACM - C0de N1ght ve Çözebildiklerimiz

Bu yazımda Fırat Üniversitesi öğrenci topluluğu olan Fırat ACM‘nin düzenlemiş olduğu Code Night (2018) etkinliğinden bahsedeceğim ve çözebildiğimiz algoritma sorularını paylaşacağım.

Etkinlik cumartesi günü saat 00:00 da başladı ve sabah 06:00’a kadar sürdü, yarışma tabanlı bir etkinlikti algoritma soruları hazırlanmıştı herkes ekibiyle birlikte algoritma sorularını yanıtlamaya çalıştı. Projeksiyonla ekrana Scoreboard yansıtılmıştı ve güncel olarak Scoreboarddaki yerimizi görebiliyorduk.

Çözebildiklerimiz

Kriptocu(!) Ayyüce

Screenshot from 2018 12 08 05 08 53 - Fırat ACM - C0de N1ght ve Çözebildiklerimiz
Kriptocu(!) Ayyüce

Soruyu okuduğumuzda pek bir şey anlamadık üzerine uzun saatler boyunca düşündükten sonra şunu farkettik bize bir alfabe verilmiş ve ‘A’ harfine basmak isteyen birinin ‘78945613’ tuşlarına basması gerektiği söylenmiş klavyenin sağ tarafındaki sayısal tuşlara soldan sağa sırasıyla basınca bir ‘A’ harfi şekli oluşuyor. Bunu farkettikten sonra alfabedeki bütün harfleri koda döktük başta Java ile yazan arkadaşım O. Feyyaz Onur kullanıcıdan aldığı string değeri split etmesi için bir kütüphaneden fonksiyon çağırması gerektiğini söyledi fakat soruda kütüphane kullanılması yasaktı bizde buyüzden Java kodlarını Python3 kodlarına çevirdik ve Python3 deki ‘split()’ fonksiyonuyla rahatça split ettik. Şimdi aklınızda şu soru var “Neden kullanıcıdan string değer aldık ?” kısaca şöyle bahsedeyim örnek girdide görebildiğiniz gibi bizden birden fazla sayı alıyor eğer int değer alsaydık bunu sağlayamazdık. Başka yöntemlerle yapılabilirmiydi evet belkide bu soruyu çözemenin bin tane yolu var (abartmış olabilirim laf olsun diye söyledim 🙂 ) fakat biz böyle bir yöntem izledik.

En sonunda ise Algoritmayı sisteme yükledik ve doğru sonuç elde ettik.

Sayılarla Kafayı Yiyen Mühendis

Screenshot from 2018 12 08 04 01 11 - Fırat ACM - C0de N1ght ve Çözebildiklerimiz
Sayılarla Kafayı Yiyen Mühendis

Bu soruya ilk baktığımızda yapılabileceğini düşündük ve hemen kodlamaya başladık. Python3 ile kodladık başta soruyu yanlış anlamamızdan kaynaklanan 3 tane başarısız yanıtımız oldu 🙂 

Python3 ile kodlarken Python3 de ‘split()’ fonksiyonu olduğunu unutmuşum (yaklaşık 3-4 aydır Python kodlamıyorum) ve girilen string değeri uzun uğraşlar sonucu split edebilmeyi başardım 🙂

Bu soruya aşağıdaki gibi bir çözüm ürettik.

Sonuç 

Yaklaşık 21 takım içerisinden 11. sıraya yerleşmeyi başardık (başardık diyorum çünkü takımlarda 3-4 kişilerin olması (yaklaşık 60-80 kişi yapar 🙂 ) yanı sıra ekibimizde (ekibimizin adı: sublime-text 🙂 ) bilgisayar mühendisi 1. sınıf arkadaşımız vardı ve pek bilgisi yoktu, benim liseden arkadaşım olan ve liseden beri onunla beraber kod yazdığım arkadaşım O. Feyyaz Onur vardı bizde açıkçası çok fazla bir şey bilmiyorduk ben zaten hazırlık okuyorum şuanda 🙂 ).

Yarışmanın yanında çok keyifli bir ortam vardı soru çözmekten sıkılıp Müslüm Gürses dinleyen arkadaşları da gördük :). bedava kola,kahve,kuru pasta ayarlanmıştı ve arada bilgisayar başından kalkıp bir şeyler içmeye gidebileceğimiz bir fırsatımız vardı.

Fotoğraflar