O05

Kaydırmalı Şifre

Kıdemli Aday (Mid/Senior)
Hedef Süre: 25 - 35 Dakika
Tip: STRING

Teknik Tanım & Görev

Ele geçirilmiş bir metin, Sezar şifresiyle (her harfin alfabede sabit sayıda kaydırılması) kodlanmış. Kaydırma miktarı BİLİNMİYOR, ama 0 ile 25 arasında bir tam sayı olduğu biliniyor. Boşluklar şifrelenmemiştir ve aynen korunur. Elimizde küçük bir sözlük var (sık kullanılan kelimeler). DOĞRU kaydırma miktarı, çözülen metinde SÖZLÜKTEKİ KELİMELERDEN EN ÇOĞUNU üreten kaydırmadır. Birden fazla kaydırma aynı sayıda eşleşme veriyorsa EN KÜÇÜK kaydırma seçilir. Şifreli metin ve sözlük verildiğinde, ÇÖZÜLMÜŞ METNİ döndür.

Fonksiyon İmzası (Python)

sifre_coz(sifreli: str, sozluk: list[str]) -> str

Girdi ve Çıktı Sözleşmesi

Çıktı Kuralı:Çözülmüş metin; uzunluğu ve boşluk konumları girdiyle birebir aynıdır.

Sistem Kısıtları (Constraints)

0 <= sifreli.length <= 10^4
sifreli yalnızca küçük ASCII harf ve boşluk içerir
0 <= sozluk.length <= 100
Kaydırma 0..25 aralığında; alfabe 26 harf (a-z)

Örnek Yürütme Analizi

sifreli = "khoor zruog", sözlük = ["hello","world","foo","bar"]
kaydırma 3 ile çöz: k->h, h->e, o->l, o->l, r->o | z->w, r->o, u->r, o->l, g->d
-> "hello world" -> sözlük eşleşmesi: "hello" + "world" = 2
cevap: "hello world" 

Örnek Test Senaryoları (3)

Örnek 1
Girdi:["khoor zruog",["hello","world","foo","bar"]]
Beklenen Çıktı:"hello world"
Örnek 2: 1 Karakter Kaydırma
Girdi:["bc",["ab","cd"]]
Beklenen Çıktı:"ab"
Örnek 3: 0 Kaydırma (Doğrudan Eşleşme)
Girdi:["apple",["apple"]]
Beklenen Çıktı:"apple"
Python Editörü Yükleniyor...
Girdi Parametreleri
[
  "khoor zruog",
  [
    "hello",
    "world",
    "foo",
    "bar"
  ]
]
Beklenen Çıktı
"hello world"