Selamlar, haftanın soru ve çözümü ile buradayız.
Soru: Repeated String 🐮
Verilen stringin uzunluğunun verilen uzunluğa kadar ard arda eklenip sonuçta elde ettiğimiz stringin içerisinde kaç tane ‘a’ olduğunu bulup onu dönmemizi istiyorlar.
Örneğin; bize verilen string “abcac” ve verilen uzunluk 10. bizden “abcacabcac” stringini bulup bunun içinde 4 tane ‘a’ olduğu bilgisini döndürmemiz isteniyor.
Çözüm: Elimizdeki string içinde kaç tane ‘a’ olduğunu buluyoruz.
İstenen (n) uzunluğun verilen stringe tam bölünüp bölünmediğini kontrol ediyoruz.
Tam bölünmesi durumunda;
Verilen stringi kaç kere tekrar ekleyeceğimizi hesaplıyoruz. Her string içinde kaç tane ‘a’ olduğunu tutmuştuk onunla çarpıp sonuca varıyoruz.
Tam bölünmemesi durumunda;
Kalan string içinde bulunan ‘a’ sayısını hesaplıyoruz. Her string içinde kaç tane ‘a’ bulunması durumunu eklenme sayısı ile çarpıyoruz. Toplamda elimizdeki ‘a’ ların sayısını döndürüyoruz.
Umarım anlaşılır ve açık olmuştur :) Time ve space complexityleri aşağıdaki gibi oluyor
Time Complexity: O(s.length)
Space Complexity: O(1)
Farklı çözümleriniz olursa bizimle paylaşmayı unutmayın lütfen :) 🪄
Çözümüne github üzerinden erişebilirsiniz 🎉