Özet: Basit Izgara Egzersizi
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 32 / 68.
Görev
KolayBir JSON biçimindeki basit bir oyun ızgarasını temsil eden tek bir girdi alacaksınız. Izgara, farklı karo değerlerini temsil eden sayılar içerir. Girdiyi okuyun, JSON dizesini 2D diziye dönüştürün ve aşağıdaki işlemleri gerçekleştirin:
- Izgaradaki tüm değerlerin toplamını hesaplayın ve yazdırın
- Izgaradaki en büyük değeri bulun ve yazdırın
- Değeri 5'ten büyük olan kaç karo olduğunu sayın ve yazdırın
- 0 tabanlı indeksleme kullanarak 1. satır, 2. sütunda bulunan değeri yazdırın
Her sonucu yukarıda belirtilen tam sırayla, ayrı bir satıra yazdırın.
Girdi biçimi: Oyun ızgarasını temsil eden bir JSON dizisi içeren tek satır (örnek: [[3,7,2],[5,9,1],[8,4,6]])
Beklenen çıktı:
- 1. satır: Tüm değerlerin toplamı
- 2. satır: En büyük değer
- 3. satır: Değeri 5'ten büyük olan karo sayısı
- 4. satır: 1. satır, 2. sütundaki değer
Kendin dene
<?php
// JSON girişini oku
$input = trim(fgets(STDIN));
// JSON dizesini 2D diziye dönüştür
// Önemli: Uygun dizi dönüşümünü sağlamak için (array) kullanın
$grid = json_decode($input, true);
// TODO: Kodunuzu aşağıya yazın
// 1. Izgaradaki tüm değerlerin toplamını hesapla
// 2. Izgaradaki maksimum değeri bul
// 3. Değeri 5'ten büyük olan kaç karo olduğunu say
// 4. 1. satır, 2. sütundaki değeri al
// Sonuçları yazdır (her satıra bir tane)
// echo $sum . "\n";
// echo $max . "\n";
// echo $count . "\n";
// echo $value . "\n";
?>Mantık ve Akış bölümündeki tüm dersler
1İleri Seviye Fonksiyonlar
Anonim FonksiyonlarClosure'lar ve 'use'Ok Fonksiyonları (Arrow Functions)Geri Çağırma (Callback) Fonksiyonları'call_user_func' KullanımıDeğişken FonksiyonlarReferans ile Değer AktarımıÖz Yinelemeli (Recursive) FonksiyonlarÖzet: Fonksiyon Karması4Çok Boyutlu Diziler
2 Boyutlu Dizi Oluşturma2 Boyutlu Dizi Elemanlarına Erişme2 Boyutlu Dizi Elemanlarını Değiştirmeİç İçe Döngülerle Yineleme2 Boyutlu İlişkisel DizilerÖzet: Basit Izgara Egzersizi2İleri Düzey Dizi İşlemleri
'array_push' ile Ekleme'array_pop' ile Silme'array_unshift' ile Ekleme'array_shift' ile Silmeİndisli Dizileri Birleştirmeİlişkisel Dizileri Birleştirme'array_slice' ile Kesit Alma'in_array' ile Değer Kontrolü'array_search' ile Anahtar AramaÖzet: Çalma Listesi Alıştırması3Dizileri Sıralama
İndisli Dizileri Artan Sırada Sıralamaİndisli Dizileri Azalan Sırada Sıralamaİlişkisel Dizileri Değere Göre Sıralamaİlişkisel Dizileri Anahtara Göre SıralamaDoğal Sıralama (Natural Order)'usort' ile Özel SıralamaÖzet: Liderlik Tablosu SıralamaKendi başına pratik yap: Online PHP derleyicisi