İçeriğe atla
CodeItRaw
Metin

Ders 2/3

Metin sorularının çoğu, karakterleri bir kez gezerken küçük bir durum taşımakla çözülür: "şu an bir kelimenin içinde miyim?", "şu anki seri kaç karakter oldu?". Her karakterde durum güncellenir ve gerekirse bir sayaç artar.

digits = 0
inside = False
for ch in text:
if ch.isdigit():
if not inside:
digits += 1
inside = True
else:
inside = False
return digits
Bir metindeki sayıları saymak ("a12b7" içinde iki sayı var): sayaç yalnızca bir sayıya girildiği anda artar, yani bir önceki karakter rakam değilken bir rakam görüldüğünde. inside bir önceki karakterin ne olduğunu hatırlar.

Art arda gelen aynı karakterlerin en uzun serisi de aynı iskelettir: karakter bir öncekiyle aynıysa seriyi uzat, değilse 1'den başlat; her adımda en uzunu güncelle. Diziler konusundaki "komşuları karşılaştır" dersinin metin hâlidir.

Görevler

Görevler sırayla açılır. Hepsini çözünce sonraki ders açılır.

Bu dersin görevleri, önceki dersler bitince açılır. Anlatımı şimdiden okuyabilirsin.

  1. 01

    Kelime Say

    Fonksiyon

  2. 02

    En Uzun Seri

    Fonksiyon

Sırayı beklemeden çözmek istersen bütün problemler kilitsiz açık: Problemler listesi