Meydan Okuma: Karakter Sıklığı
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 66 / 68.
Görev
KolayTek bir girdi alacaksınız: bir metin dizesi.
Girdi şu formatta bir dize olacaktır: hello world
Girdi dizesini okuyun. Boşlukları hariç tutarak dizedeki her karakterin sıklığını (büyük/küçük harfe duyarsız olarak) sayın. Karakter sıklıklarını, anahtarların karakterler ve değerlerin sayıları olduğu ilişkisel bir dizide saklayın.
İlişkisel diziyi ksort() kullanarak anahtara göre alfabetik artan düzende sıralayın.
Her karakteri ve sıklığını aşağıdaki formatta yazdırın:
[character]: [count]
Her karakter-sıklık çiftini alfabetik sırada, ayrı bir satırda yazdırın.
Girdi formatı:
- Bir metin dizesi içeren tek bir satır (örnek:
hello world)
Beklenen çıktı: Her karakter ve sıklığı, şu formatta ayrı bir satırda yazdırılır: [character]: [count]; karaktere göre alfabetik olarak sıralanır
Kendin dene
<?php
// Girdiyi oku
$text = trim(fgets(STDIN));
// TODO: Kodunuzu aşağıya yazın
// 1. Dizeyi küçük harfe dönüştürün
// 2. Karakter frekanslarını sayın (boşluklar hariç)
// 3. Diziyi ksort() kullanarak anahtara göre sıralayın
// 4. Her karakteri ve frekansını yazdırı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 Egzersizi7Tarih ve Saatlerle Çalışmak
'date()' Fonksiyonu'time()' ile Unix Zaman DamgalarıDateTime Nesnesine GirişDateTime Nesnelerini BiçimlendirmeDateTime Nesnelerini DeğiştirmeÖzet: Tarih Hesaplamaları10Final Meydan Okumaları
Meydan Okuma: Palindrom KontrolüMeydan Okuma: Karakter SıklığıMeydan Okuma: Alışveriş Sepeti ToplamıMeydan Okuma: Benzersiz Öge Filtresi2İ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