K06

Log Sıkıştırma

Temel Seviye (Junior)
Hedef Süre: 15 - 20 Dakika
Tip: STRING

Teknik Tanım & Görev

Bir sunucu, aynı karakterin ardışık tekrarlarından oluşan ham log satırları üretiyor. Depolama maliyetini düşürmek için bu satırlar "çalışma uzunluğu kodlaması" (run-length encoding) ile sıkıştırılacak. Kural: metni soldan sağa oku, ardışık aynı karakterlerden oluşan her grup için önce KARAKTERİ sonra GRUPTAKİ TEKRAR SAYISINI yaz. Grup uzunluğu 1 olsa bile sayı yazılır. Boş metin için boş metin döner.

Fonksiyon İmzası (Python)

log_sikistir(metin: str) -> str

Girdi ve Çıktı Sözleşmesi

Çıktı Kuralı:Sıkıştırılmış metin. Biçim: <karakter><sayı> bloklarının yan yana gelmesi. Ayraç YOKTUR.

Sistem Kısıtları (Constraints)

0 <= metin.length <= 10^4
metin yalnızca küçük ASCII harf içerir

Örnek Yürütme Analizi

metin = "aaabbccccd"
gruplar: "aaa"(3), "bb"(2), "cccc"(4), "d"(1)
cevap: "a3b2c4d1" 

Örnek Test Senaryoları (3)

Örnek 1
Girdi:["aaabbccccd"]
Beklenen Çıktı:"a3b2c4d1"
Örnek 2: Çoklu Karakter Blokları
Girdi:["wwwwaaadexxxxxx"]
Beklenen Çıktı:"w4a3d1e1x6"
Örnek 3: Tek Karakter
Girdi:["k"]
Beklenen Çıktı:"k1"
Python Editörü Yükleniyor...
Girdi Parametreleri
[
  "aaabbccccd"
]
Beklenen Çıktı
"a3b2c4d1"