K06
Log Sıkıştırma
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) -> strGirdi 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"