Yeni Başlayanlar İçin En İyi Kodlama Zorlukları: Kolaydan Zora Kodlama Uygulamaları

Yeni Başlayanlar İçin En İyi Kodlama Zorlukları: Kolaydan Zora Kodlama Uygulamaları

İşte kimsenin sizi uyarmadığı bir şey. Bir ay boyunca eğitim videoları izleyebilir, her videoya başınızı sallayarak onaylayabilirsiniz, sonra boş bir dosya açıp ne yazacağınız konusunda hiçbir fikriniz olmayabilir. Ben de bunu yaşadım. Kod yazmayı öğrenen çoğu insan da bunu yaşamıştır.

Çözüm sıkıcı ama işe yarıyor: küçük problemleri kendiniz çözün, önce kötü bir şekilde. Bu yüzden bu kılavuz iki bölümden oluşuyor. Birincisi, yeni başlayanlar için en iyi kodlama problemlerinden oluşan özenle seçilmiş bir set (yaklaşık olarak kolaydan zora doğru on tane). İkincisi ise, benimkileri bitirdikten sonra binlerce daha fazlasını bulabileceğiniz siteleri kapsıyor.

Herhangi bir programlama dili işinizi görecektir. Örneklerimde Python ve az miktarda JavaScript kullandım, çünkü çoğu kişi oradan başlıyor. Mümkünse sırayla ilerleyin. Her problem yeni bir fikir içeriyor.

Kodlama Yarışmaları Gerçek Kodlama Becerilerini Nasıl Geliştirir?

Zorluk olarak ne sayılır? Doğru cevabı bariz olan küçücük bir şey. "Bir kelime al, tersten söyle." "İşte bir sayı listesi, hangisi en büyük?" Hiçbir şey kurmuyorsunuz veya bir çerçeve seçmiyorsunuz. Belki on satır yazıyorsunuz.

Bir eğitim videosu izlemek, başkasının düşünme sürecini takip etmek anlamına gelir. Kodlama yarışmaları ise bunu tersine çevirir ve bu, faydalı bir şekilde rahatsız edicidir. Tahmin edersiniz, bir şey bozulur, hataya bakarsınız, tekrar denersiniz. Bunu birkaç hafta boyunca yaparsanız, bazı şeyler sessizce kolaylaşır:

  • Söz dizimi akıcılığı. Artık beşinci kez "for döngüsü nasıl yazılır" diye Google'da arama yapmanıza gerek yok.
  • Problem çözme becerileri. Klavyeye dokunmadan önce belirsiz bir görevi adımlara ayırmaya başlarsınız.
  • Mantıksal düşünme. Boş bir liste, negatif bir tamsayı, tek harfli bir kelime. Bunları beklemeye başlıyorsunuz.
  • Hata ayıklama. Kırmızı hata yazısı artık bir hakaret gibi gelmiyor.
  • Özgüven. Çözdüğünüz her problem, kendi başınıza program yazabileceğinizin kanıtıdır.

Birisi bana bir zamanlar kodlamanın kendine özgü 80/20 kuralı olduğunu söylemişti ve başlangıç seviyesindeki problemler için oldukça doğru. Çoğu problem aynı beş temel harekete dayanıyor: döngüler, if/else yapıları, dizeleri kurcalama, sözlükteki öğeleri sayma ve dizide gezinme. Bunları parmaklarınıza yerleştirdiğinizde, birçok "yeni" problem aslında şapka takmış eski problemler olarak ortaya çıkıyor.

Yeni Başlayanlar İçin En İyi Kodlama Zorlukları

Yeni Başlayanlar İçin Çözülmesi Gereken 10 Kolay Kodlama Problemi

Bunların hiçbiri orijinal değil ve zaten amaç da bu. Neredeyse her başlangıç seviyesi kursunda karşımıza çıkıyorlar çünkü işe yarıyorlar. İlk beşi sadece döngüler, koşullar ve biraz da metin veya liste işleme gerektirirken, son beşi herhangi bir şey yazmadan önce hangi veri yapısını kullanacağınızı düşünmenizi sağlıyor. Ne olursa olsun, anlamsız gelse bile en az yirmi dakika boyunca Google'da arama yapmamaya çalışın.

1. Meydan Okuma: FizzBuzz

Görev, 1'den 100'e kadar olan sayıları yazdırmaktır, ancak üçün her katı "Fizz", beşin her her katı "Buzz" olarak, her ikisinin de katı olan sayılar ise "FizzBuzz" olarak gösterilmelidir.

Bunun ne kadar basit göründüğünü neredeyse hakaret gibi bulduğumu hatırlıyorum. Ancak aslında o kadar da basit değil, bu yüzden mülakatçılar uzun süre bunu beğendi. Kodlama hakkında çok şey okumuş ama çok az kod yazmış kişiler genellikle kontrollerin sırasına takılıyorlar. Python'daki versiyonum şöyle:

Python'da n için 1 ile 101 arasında döngü: eğer n % 15 == 0 ise "FizzBuzz" yazdır, eğer n % 3 == 0 ise "Fizz" yazdır, eğer n % 5 == 0 ise "Buzz" yazdır, aksi halde n'yi yazdır.

Sizinki çalıştıktan sonra, % 15 satırını en alta sürükleyin, çalıştırın ve kaç FizzBuzz'ın hayatta kaldığını görün. Spoiler: hiçbiri.

2. Görev: Bir Diziyi Tersine Çevir

"Merhaba" girer, "olleh" çıkar.

Python'da s[::-1] veya JavaScript'te split("").reverse().join("") gibi hemen hemen her dilde bir kısayol vardır ve bunu bir kez yazıp nasıl çalıştığını görmek sorun değil. Ondan sonra dürüst olmak gerekirse onu silip, her seferinde bir karakter ekleyen bir döngüyle daha sıkıcı olan versiyonu yapardım. İşte burada çoğu dilde bir dizenin yerinde değiştirilemeyeceğini fark edersiniz; bu da daha sonra birçok insanı şaşırtır, çünkü bunu burada öğrenmezlerse kafaları karışır.

3. Meydan Okuma: Palindrom Kontrolü

Palindrom, "racecar" veya "noon" gibi her iki yönde de aynı şekilde okunan bir kelimedir; dolayısıyla fonksiyonunuz bunlara "evet" derken "hello"ya "hayır" demelidir.

Bu işlem başarılı olduğunda, "A man, a plan, a canal: Panama" metnini vererek kodlama becerilerinizi bir adım daha geliştirmenin tam zamanı. Metni küçük harfe çevirip boşlukları ve noktalama işaretlerini kaldırdıktan sonra işlem başarılı oluyor. Bunun için önceki görevden elde ettiğiniz dize ters çevirme kodunu kullanabilirsiniz, bu da oldukça hoş bir his veriyor.

4. Görev: Fibonacci Dizisi

Muhtemelen daha önce şu sayı dizisini görmüşsünüzdür: 0, 1, 1, 2, 3, 5, 8, 13; her sayı, kendisinden önceki iki sayının toplamıdır. Fonksiyonunuz bu sayılardan ilk n tanesini döndürmelidir.

İki değişken ve bir döngü yeterli. İşin eğlencesi, fonksiyonun kendisini çağırması ve ardından n = 35 istemesiyle, yani özyinelemeyle yeniden yazdığınızda başlıyor. Çoğu dizüstü bilgisayarda bir süre bekleyeceksiniz ve bunun neden olduğunu anlamak, dinamik programlamaya nazik bir ilk bakış olacak. Bu, akılda kalıcı küçük "ah, işte bu yüzden" anlarından biri.

5. Görev: Bir Diziyi Döndürme

Bir dizi ve bir k sayısı alın, ardından her elemanı k basamak sağa kaydırın, sondakiler başa gelecek şekilde. [1, 2, 3, 4, 5] ve k = 2 ile [4, 5, 1, 2, 3] elde etmelisiniz.

İlk denemelerin çoğu, k'nin listeden büyük olması durumunda başarısız olur. Beş öğeyi 7 kez döndürmek aslında onları 2 kez döndürmekle eşdeğerdir; bu, fark edilene kadar görünmeyen, ancak fark edildiğinde anlaşılan bir gerçektir.

Eğer bu beş aşamayı fazla acı çekmeden atlattıysanız, tebrikler. Sonrakiler sizden biraz daha fazlasını istiyor.

6. Görev: Bir Dizideki En Büyük Tamsayıyı Bulun

En büyük sayıyı bulmak, max() fonksiyonunu kullanmanıza izin verilirse kolaydır, ancak buna izin verilmiyor. Bunun yerine bir döngü kullanın ve listeyi iki kez taramadan ikinci en büyük sayıyı da bulun. Artık iki değeri takip ediyorsunuz ve hangisini önce güncelleyeceğinize dikkat etmeniz gerekiyor.

Tekrarlanan sayılar ve negatif sayılar, test etmek için iyi yöntemlerdir çünkü birçok erken çözüm bu tür hatalar nedeniyle sessizce başarısız olur.

7. Görev: Bir Cümledeki Sesli Harfleri Sayın

Sesli harfleri saymak ısınma egzersizidir. Asıl alıştırma ise her sesli harfi tek başına sayıp {"a": 3, "e": 5, "i": 1, "o": 2, "u": 0} gibi bir sonuç döndürmektir.

Birçok yeni başlayan için sözlüklerin (veya JavaScript'teki nesnelerin) nihayet anlam kazandığı an budur ve bu önemlidir, çünkü muhtemelen önümüzdeki yıl en çok güveneceğiniz veri yapısı budur.

8. Meydan Okuma: Anagram Kontrol Oyunu

Anagramlar, "listen" ve "silent" gibi, aynı harflerin farklı bir sırada kullanılmasıyla oluşturulur; dolayısıyla iki dizenin anagram olup olmadığını belirten bir fonksiyon yazıyorsunuz.

Bildiğim kadarıyla iki mantıklı yol var. İki dizeyi de sıralayıp sonuçları karşılaştırabilirsiniz veya her harfin kaç kez göründüğünü sayıp bu sayıları karşılaştırabilirsiniz. İkisini de yazıp hangisinin daha az iş yaptığını düşünmek, verimlilik hakkında düşünmeye başlamanın ilk adımıdır.

9. Meydan Okuma: İki Toplam

[2, 7, 11, 15] gibi bir liste ve 9 hedefiyle, toplamı hedef olan [0, 1]'e eşit olan iki sayının konumlarını döndürürsünüz.

Çoğu kişi her çifti deneyen iki iç içe döngüyle başlar ve bu kısa listeler için uygundur ancak hızla yavaşlar. Daha hızlı yaklaşım, daha önce gördüğünüz sayıları bir sözlükte tutarak anında arama yapmanızı sağlar. LeetCode'un bunu ilk sıraya koyması tesadüf değil, çünkü doğru veri yapısının ne kadar önemli olduğunu açıkça gösteriyor.

10. Meydan Okuma: Sayı Tahmin Oyunu

Burada bilgisayar 1 ile 100 arasında gizli bir sayı seçiyor, siz tahmin etmeye devam ediyorsunuz ve doğru cevabı bulana kadar size "çok yüksek" veya "çok düşük" diyor, ayrıca kaç denemede doğru cevabı bulduğunuzu da söylüyor.

Bu, basit bir programlama bulmacasından ziyade, kullanıcı girdisi, while döngüsü ve rastgele sayılar içeren küçük bir uygulama. Birileri eninde sonunda sayı yerine "muz" yazacak, bu yüzden hatalı girdilerle de başa çıkmanız gerekecek. Ve diğerlerinden farklı olarak, bunu gerçekten bir arkadaşınıza verip oynamasını sağlayabilirsiniz.

Çevrimiçi Kodlama Yarışmaları İçin En İyi Web Siteleri

On tanelik limitim dolduktan sonra, otomatik kontrol özelliği olan sınırsız bir kaynağa ihtiyacınız olacak. Çevrimiçi kodlama yarışmaları sunan bu sitelerin hepsi bunu yapıyor. Sadece çok farklı bir his veriyorlar.

Platform En iyisi Biçim Maliyet
Edabit Mutlak acemiler Tarayıcıda kısa ve öz kodlama problemleri. Ücretsiz seviye
Kod savaşları Oyunlaştırılmış uygulama Topluluk çözümleriyle sıralanmış "kata" Özgür
İbadet İyi alışkanlıklar öğrenmek İsteğe bağlı insan mentörlü dil kursları Özgür
ücretsizKod Kampı Yapılandırılmış öğrenme Dahili alıştırmalar ve sertifikalar içeren müfredat Özgür
HackerRank Beceri geliştirme programları ve işe hazırlık Zorluk derecesi etiketli konu bazlı problemler Öğrenciler için ücretsiz
LeetCode Mülakat hazırlığı Algoritmik problemler Kolay/Orta/Zor olarak etiketlenmiştir. Ücretsiz seviye
CodeChef Yarışmalara doğru ilerliyoruz Antrenman parkurları ve düzenli yarışmalar Ücretsiz seviye
Euler Projesi Matematik severler Matematik ağırlıklı bulmacalar, sadece cevap gönderimi. Özgür
Kodun Ortaya Çıkışı Mevsimsel eğlence Her Aralık ayında hikaye odaklı günlük bulmacalar. Özgür

Edabit

Bir arkadaşım bana nereden başlamam gerektiğini sorsa, Edabit derdim. Problemler kısa, her şey tarayıcıda çalışıyor ve XP kazanıyorsunuz. Python, JavaScript, Java, C++ ve birkaç dil daha ele alınıyor ve "çok kolay" etiketi gerçekten de çok kolay anlamına geliyor.

Kod savaşları

Codewars, problemlerine kata (dövüş sanatlarında egzersiz anlamına gelen bir terim) diyor. Bunlar, en kolay olan 8 kyu'dan en zor olan 1 kyu'ya kadar sıralanıyor. İşin sihri, cevabınızı verdikten sonra başlıyor. Diğer herkesin cevaplarını görüyorsunuz ve on tane beceriksiz satırınızı birinin iki satırlık akıcı cevabının yanına koymak, çoğu eğitim videosundan daha fazla şey öğretiyor size.

İbadet

Exercism kar amacı gütmeyen bir kuruluş olarak faaliyet gösteriyor ve tamamen ücretsiz. 80'den fazla dil için kurslar mevcut ve isterseniz gönüllü mentorlar kodunuzu inceleyecek. Tarayıcıda kalabilir veya egzersizleri kendi bilgisayarınıza indirebilirsiniz. Sonunda ikinci seçeneğe yönelmenizi tavsiye ederim, çünkü bu sizi Visual Studio Code ve terminale alıştırır.

ücretsizKod Kampı

Tam anlamıyla bir meydan okuma sitesi değil. Yüzlerce küçük kodlama alıştırmasından oluşan, bütün bir müfredat niteliğinde. Yapılandırılmış bir eğitim arıyorsanız harika: JavaScript, Python, duyarlı web tasarımı ve daha fazlası, her yolun sonunda sertifika projeleriyle birlikte sunuluyor.

HackerRank

HackerRank problemleri beceri alanlarına (Python, SQL, veri yapıları, algoritmalar) göre sınıflandırıyor ve her birinin ne kadar zor olduğunu ve kaç kişinin çözdüğünü söylüyor. Birçok şirket adayları bu platform üzerinden değerlendiriyor. Arayüzüne şimdiden alışmak, ileride yaşayacağınız stresi azaltacaktır.

LeetCode

Burası mülakat hazırlığı diyarı. Sorular Kolay, Orta ve Zor olarak etiketlenmiş ve "Kolay" bile temelleri bildiğinizi varsayıyor. Programlama zorluklarını başlangıç noktanız değil, hedeflediğiniz yer olarak değerlendirin. On soruluk rehberim size rutin geldiğinde geri gelin.

CodeChef

CodeChef, rekabetçi programlama sitesi olarak doğdu. Günümüzde düzenli yarışmalarının yanında yeni başlayanlar için pratik parkurları da bulunuyor; bu nedenle zaman sınırlı yarışmalar eğlenceli geliyorsa, denemek için uygun bir yer.

Euler Projesi

Kodla çözmeniz gereken matematik problemleri. Sitede editör yok. Programı istediğiniz yere yazın ve sadece son sayıyı girin. Matematikçiler bayılıyor. Diğerleri ise genellikle uzak duruyor.

Kodun Ortaya Çıkışı

Her Aralık ayında, komik bir hikayeyle birbirine bağlanan iki parçalı bir bulmaca alıyorsunuz. Son zamanlarda 25 günden 12 güne indirildi ve küresel liderlik tablosu kaldırıldı, bu nedenle bugünlerde çoğunlukla arkadaşlar veya iş arkadaşlarıyla özel liderlik tabloları mevcut. Daha eski bulmacalar tüm yıl boyunca yayında kalıyor ve arşiv harika bir alıştırma kütüphanesi.

Ayrıca, yarışmaları mülakat kurslarıyla birleştiren Coderbyte ve gerçekten deneyimli geliştiriciler için olan Topcoder hakkında da bilgi edineceksiniz.

Bir uyarı: Birçok eski liste hala sizi Google Code Jam ve Kick Start'a yönlendiriyor. Google her ikisini de 2023'te kapattı ve geriye sadece sorunlu arşivler kaldı.

Yeni Başlayanlar İçin En İyi Kodlama Zorlukları

Kodlama Görevlerini Tükenmeden Nasıl Çözebilirsiniz?

On tane siteyi yer imlerine eklemek sizi daha iyi yapmaz. Alışkanlık yapar. İşte kabaca benim yapacaklarım:

  1. Bir programlama dili seçin ve ona bağlı kalın. Python, neredeyse İngilizce gibi okunduğu için genellikle tercih edilen dildir. Web siteleri oluşturmak istiyorsanız JavaScript mantıklı bir seçimdir.
  2. Gerçek bir kod düzenleyici kurun. Tarayıcı düzenleyicileri ilk hafta için uygundur. Visual Studio Code'u erken kurmak, dosyaları çalıştırmayı, terminalde hataları okumayı ve hata ayıklayıcıyla kurcalamayı öğrenmenizi sağlar.
  3. Günde bir ila üç problem çözün. Küçük dozlarda günlük kodlama pratiği, altı saatlik Pazar günü yoğun çalışmasından çok daha etkilidir. Alıştırmalar seanslar arasında yerleşir ve küçük bir hedefi atlamak zorlaşır.
  4. Bitirdikten sonra diğer çözümleri okuyun. Codewars veya Exercism'de iki veya üç başka cevaba bakın. En iyi uygulamaları ve gerçekten çalmaya değer bazı zekice püf noktalarını öğreneceksiniz.
  5. Eski problemleri tekrar gözden geçirin. Bir hafta sonra, birini hafızanızdan tekrar çözün. Eğer çözemezseniz, ezberlemişsiniz demektir, anlamamışsınız demektir.
  6. Küçük projelere geçin. Yaklaşık 30 ila 50 problem üzerinde çalışın ve bir şeyler geliştirin: bir yapılacaklar listesi, ücretsiz bir API kullanan bir hava durumu uygulaması, bir metin tabanlı macera oyunu. İşte bu noktada farklı beceriler bir araya gelmeye başlar.

Kodlama Sınavında Takılıp Kaldığınızda Ne Yapmalısınız?

Sıkışıp kalacaksınız. Kıdemli geliştiriciler bile öğle yemeğinden önce takılıp kalıyorlar. Onların takılıp kalmaktan kurtulmak için bir rutinleri var, siz de onlardan birini ödünç alın:

  • Sorunu kendi kelimelerinizle yeniden ifade edin. Şaşırtıcı sayıda "Bunu çözemiyorum" anı aslında "Yanlış anladım"dan kaynaklanıyor.
  • Bir örneği elle uygulayın. Küçük bir girdi, kalem ve kağıt kullanın ve attığınız her adımı yazın. Tebrikler, işte algoritmanız.
  • Önce sözde kod yazın. "Her sayı için, eğer mevcut en büyük sayıdan büyükse, onu saklayın." Sade İngilizce, koddan daha kolay düzeltilebilir.
  • Her şeyi yazdırın. Çoğu hata, tahmin ettiğinizden farklı bir şey tutan bir değişkenden kaynaklanır. Yazdırın ve öğrenin.
  • Sesli olarak açıklayın. Kodunuzu satır satır, bir kişiye veya bir lastik ördeğe anlatın. Yazılım hatası genellikle cümlenin ortasında kendini gösterir.
  • İpuçlarını adım adım kullanın. Birçok platform, tam cevaptan önce bir ipucu sunar. İpucunu alın, sonra tekrar deneyin.

Ne yaparsanız yapın, bir çözümü kopyalamayın, onaylanmasını bekleyin ve devam edin. Bunu bir süre yaptım ve hiçbir yere varamadım. Eğer bir cevabı okursanız, sekmeyi kapatın, bir saat bekleyin ve kendiniz yeniden oluşturun.

Blockchain'e Yeni Başlayanlar İçin Kripto Temalı Kodlama Zorlukları

Belki de kripto para ödemeleri veya blockchain, kodlamayı öğrenmek istemenizin asıl sebebiydi. O zaman bu dünyaya ait problemler üzerinde pratik yapın. Temeller aynı (dizeler, tamsayılar, API'ler), ancak görevler gerçek dünyadaki teknik işlere çok daha benziyor. Bunların hiçbirinde konsensus algoritmalarını anlamanıza gerek yok.

  • Anlık kripto para fiyatını alın. Ücretsiz, herkese açık bir kripto para fiyat API'sine istek gönderin, mevcut Bitcoin fiyatını yazdırın, her dakika yenileyin. Merhaba, HTTP istekleri ve JSON.
  • Cüzdan adresi formatını doğrulayın. Bir dizenin makul bir adres gibi görünüp görünmediğini kontrol edin: doğru uzunluk, doğru ön ek, yalnızca izin verilen karakterler. Harika bir dize alıştırması ve düzenli ifadelere nazik bir giriş.
  • Birim dönüştürücü oluşturun. Satoshi'yi BTC'ye (1 BTC = 100.000.000 satoshi), wei'yi ETH'ye (1 ETH = 10¹⁸ wei) çevirin. Ondalık sayıların ve paranın neden iyi geçinmediğini ve geliştiricilerin miktarları neden tam sayı olarak tuttuğunu çabucak anlayacaksınız.
  • Bir dizeyi SHA-256 ile özetleyin. Bir cümleyi standart kütüphanenizle özetleyin, bir harfi değiştirin, tekrar özetleyin. Tamamen farklı bir sonuç elde edersiniz. Bu özellik, blok zincirlerini bir arada tutan en önemli unsurlardan biridir.
  • Basit bir ödeme sayfası oluşturun. Ödeme ağ geçidi API'si aracılığıyla test faturası oluşturan "Kripto para ile öde" butonu içeren bir ürün sayfası.

Sonuncusu geri kalan her şeyi bir araya getiriyor: bir form, bir API çağrısı, hata yönetimi ve sonucu gerçek bir kullanıcıya gösterme. Plisio gibi ağ geçitleri, bir uygulama mağazasına entegre edebileceğiniz bir API ve dokümanlar yayınlıyor; bu da yeni başlayanlar için yapılan bir alıştırmayı gerçek bir e-ticaret entegrasyonuna çok benzetiyor.

Kodlama pratiğinize bugün tek bir problemle başlayın.

Başlangıçta takıldığım noktaları gerçekten aşmamı sağlayan şeyin ne olduğunu düşündüğümde, efsanevi zor bir problem olmadığını fark ediyorum. Yeni başlayanlar için en iyi kodlama zorlukları, genellikle gece geç saatlerde, dizüstü bilgisayarımın yanında soğuk çay eşliğinde çözdüğüm, sıkıcı küçük problemlerdi.

Bu yüzden bu gece bir editör açın ve FizzBuzz'ı, çirkin kodunuzla birlikte, çalışır hale getirin. Eğlenceli olduğu sürece listedeki siteleri denemeye devam edin ve eğlenceli olmaktan çıktığında, tablodaki en dostane görünen siteye geçin. Alışkanlığı o kadar küçük tutun ki, atlamak biraz saçma gelsin. Bir ay sonra bunlardan bazıları neredeyse sıkıcı gelecek ve bu sıkıcılık, gerçek kodlama becerilerine sahip olmanın içten nasıl bir his olduğuyla hemen hemen aynı.

Sorusu olan?

Dürüst olmak gerekirse, FizzBuzz, neredeyse herkes gibi. Sadece bir döngü ve birkaç if ifadesi istiyor ve tek nefeste açıklayabilirsiniz, yine de birçok insan ilk denemelerinde kontrollerin sırasını yanlış yapıyor. Bir dizenin tersine çevrilmesi güzel bir ikinci adım oluşturuyor.

Edabit, tamamen yeni başlayan birine önereceğim platform olurdu, çünkü problemler kısa ve hiçbir şey yüklemenize gerek yok. Daha sonra, Codewars, sıralamaları ve herkesin çözümlerini okuyabilme özelliği sayesinde bağımlılık yapıcı hale geliyor. Exercism’de nadir bulunan ücretsiz mentorlar var. freeCodeCamp, sabit bir yol izlemeyi sevenler için uygun. LeetCode bekleyebilir, çünkü kolay problemlerinde bile temel bilgileri varsayıyor.

Çoğu insan için Python derim, kısmen sözdiziminin sizi engellememesi ve parantezler ve noktalı virgüller yerine mantık üzerine düşünmenize olanak sağlaması nedeniyle. Eğer zaten web sitesi oluşturmak istediğinizi biliyorsanız, JavaScript de aynı derecede mantıklı, çünkü her tarayıcı onu çalıştırıyor. Her ikisi de kodlama yarışmaları için uygundur ve dürüst olmak gerekirse, seçiminize sadık kalmanız, seçimin kendisinden daha önemlidir.

Bir ila üç, ve bunu yeni başlayanlar için bir hedef değil, bir üst sınır olarak söylüyorum. Bir ay boyunca günde iki problem çözmek, tek bir hafta sonuna sıkıştırılmış otuz problemden daha çok şey öğretecektir. Kalan zamanı her çözümü gerçekten anlamak ve diğer insanların nasıl yaklaştığını incelemek için kullanmanızı tavsiye ederim.

Garip bir şekilde, sorunların kendileri asla basitleşmese de, durum böyle devam ediyor. Değişen şey, döngüler, koşullu ifadeler, dize işleme, sözlüklerle sayma ve dizilerde gezinme gibi aynı birkaç kalıbın ne sıklıkla geri geldiğini fark etmeye başlamanızdır. Kırkıncı problem civarında kendinizi "ah, yine bunlardan biri" diye düşünürken bulacaksınız ve işte o zaman değişim gerçekleşecek.

Öncelikle problemi kendi kelimelerinizle yeniden yazarak başlayın, çünkü deneyimlerime göre "takılıp kalma" anlarının yaklaşık yarısı aslında yanlış okumalardan kaynaklanıyor. Kağıt da yardımcı olur. Küçük bir örneği elle çözün, ne yaptığınızı yazın ve bu liste sözde kodunuz olur. Yazdırma ifadeleri, değişkenlerinizin gerçekte ne tuttuğunu gösterecektir. Ve yirmi veya otuz dakika geçerse ve hiçbir şey bulamazsanız, bir ipucu yeterlidir, ancak tüm cevap genellikle yeterli değildir.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.