Selamlaar 10. gündeyiz challence için 1/3 demek 🎊 gelsin bakalım günün soru ve çözümü.
Günün Sorusu: Breaking the Records 🐤
Maria bir basketbolcu ve kendi score değerlendirmesini yapmak istiyor.
Bizden istediği; verilen listede minimumun altına kaç kez düştüğü ve maximumun üstüne kaç kez çıktığını bulmak ve döndürmek.
Çözüm 1: Gelen listenin ilk elemanlarını atadığımız minScore ve maxScore adında iki değişten oluşturuyoruz. Minimumun altına kaç kez düştüğünü tutan minScoreCounter ve maximumun altına kaç kez düştüğünü tutan maxScoreCounter adında iki değişken initial(ilk değer ataması yaparak değişken oluştumaya denir) ediyoruz.
For döngüsü ile tüm listede gelen skorun minimumun altında mı? maximumun üstünde mi olma durumunu kontrol edip counterları 1 arttırma işlemini yapıyoruz. Ve son olarak bulduğumuz minScoreCounter ve maxScoreCounter elemanlarını bir liste olarak döndürüyoruz.
Çözüm 2: Yine daha iyi çözüm nasıl olur sorusu aklımızın bir köşesinde. Bizde bir çözüm daha bulduk ve çözümde listenin ilk elamanını direkt olarak aldığımız first() metoduyla bulup getiriyoruz. (Listenin son elemanını da last() metodu kullanılarak bulunabilir)
For döngümüzü de map{} metodunu çağırarak güncelliyoruz ve aşağıdaki gibi bir sonuç elde ediyoruz.
Eveeeet günün sorusu da geldi. Umarım takip edenler için faydalı bir seri oluyordur. Yukarıdaki çözümleri github’ta da bulabilirsin 🎉