Desen Bulucu
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 85 / 86.
Görev
Kolayİki giriş satırı okuyun: ilk satır aranacak metindir, ikinci satır ise bulunacak desendir.
Desenin metinde, örtüşen oluşumlar da dâhil olmak üzere, kaç kez göründüğünü sayın ve sayıyı yazdırın.
Gereksinimler:
- Metin dizesini girdinin ilk satırından okuyun
- Desen dizesini girdinin ikinci satırından okuyun
- Metin boyunca yineleyin ve her konumda deseni kontrol edin
- Örtüşen eşleşmeler de dâhil olmak üzere tüm oluşumları sayın
- Toplam sayıyı tek bir tamsayı olarak yazdırın
İpucu: Belirli bir uzunluğa sahip ve i dizininden başlayan bir alt dizeyi çıkarmak için dizinlerle dize dilimleme işlemini kullanabilirsiniz. Desenin her konumda eşleşip eşleşmediğini kontrol etmek için dizeyi karakterlerden oluşan bir diziye dönüştürebilir veya Swift'in dize dizini işlemlerini kullanabilirsiniz.
Örnek:
Girdi şu şekildeyse:
ababa
abaÇıktı şu şekilde olmalıdır:
2"aba" deseni, "ababa" içinde 0. ve 2. dizinlerde 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 OperatörüBileşik AtamaTekrar - Basit MatematikKarşılaştırma Operatörleri7Temel Girdi/Çıktı
Print FonksiyonuDize EnterpolasyonuReadLine ile GirdiTür DönüşümüTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriTekrar - Sigma FonksiyonuTekrar - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Öğeler Üzerinde YinelemeEnumerate YöntemiDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P22Değişkenler
Let ve VarTür AnotasyonlarıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Üçlü Operatör8Hesap Bölüştürme Hesaplayıcısı
Karşılama MesajıGirdi Alma11FizzBuzz'a Farklı Bir Yorum
Oyuna Genel BakışFizzBuzz Fonksiyonu3Optional Değerler
Optional Değerler NedirIf Let ile AçmaGuard LetNil Birleştirme OperatörüTekrar - Güvenli Açma9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueTekrar - FaktöriyelDöngülerde Aralıklarİç İçe DöngüTekrar - Dinamik GirdiKendi başına pratik yap: Swift playground