Desen Bulucu
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 85 / 86.
Görev
Kolayİki satırlık girdi okuyun: ilk satır aranacak metin, ikinci satır ise bulunacak kalıptır.
Kalıbın metin içinde kaç kez geçtiğini (çakışan eşleşmeler dahil) sayın ve bu sayıyı yazdırın.
Gereksinimler:
- Girdinin ilk satırından metin dizgisini okuyun
- Girdinin ikinci satırından kalıp dizgisini okuyun
- Metin üzerinde ilerleyin ve her konumda kalıbı kontrol edin
- Çakışan eşleşmeler de dahil olmak üzere tüm oluşumları sayın
- Toplam sayıyı tek bir tam sayı olarak yazdırın
İpucu: Belirli bir uzunlukta ve i indeksinden başlayan bir alt dizgiyi çıkarmak için indekslerle dizgi dilimlemeyi (string slicing) kullanabilirsiniz. Dizgiyi bir karakter dizisine (array) dönüştürün veya her konumda kalıbın eşleşip eşleşmediğini kontrol etmek için Swift'in dizgi indeksi manipülasyonunu kullanın.
Örnek:
Eğer girdi şu şekildeyse:
ababa
abaÇıktı şu şekilde olmalıdır:
2"aba" kalıbı, "ababa" içinde indeks 0 ve indeks 2'de görünür.
Kendin dene
// Girdiyi oku
let text = readLine()!
let pattern = readLine()!
// TODO: Kodunuzu aşağıya yazın
// Desenin metin içinde kaç kez geçtiğini sayın (çakışan durumlar dahil)
// Sonucu yazdır
print(count)Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüBileşik AtamaÖzet - Basit MatematikKarşılaştırma Operatörleri7Temel Giriş/Çıkış
Print FonksiyonuString InterpolationReadLine GirişiTür DönüşümüÖzet - 120'ye KadarÖzet - Doğru veya Yanlış10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Elemanlar Üzerinde YinelemeEnumerate MetoduStringler Üzerinde Yineleme P1Stringler Üzerinde Yineleme P22Değişkenler
Let vs VarTip BelirteçleriSayılarStringBooleanİsimlendirme KurallarıÖzet - Değişkenleri Başlatma5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Ternary Operatör8Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıGirdi Alma14İleri Seviye Diziler
Dizi Dilimleme Bölüm 1Dizi Dilimleme Bölüm 2Sıralı Yapı OperatörleriContains Metodu3Opsiyoneller
Opsiyoneller NedirIf Let ile UnwrappingGuard LetNil Coalescing OperatörüÖzet - Güvenli Unwrapping6Karar Yapıları
If İfadesiIf - ElseÖzet - Basit Hesap MakinesiSwitch İfadesiAralıklı Switch Kullanımı9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueÖzet - FaktöriyelDöngülerde Aralıklarİç İçe DöngülerÖzet - Dinamik Girdi