Merhabalar bu yazımda sizlere karşılaştığım bir mülakat sorusunu paylaşacağım. Sizde bu soruyu yazmayı deneyerek kendinizi kontrol edebilirsiniz.
Bu karşılaştığım soru silikon vadisindeki bir şirket tarafından tarafıma soruldu. Bildiğiniz gibi her programlama dili birer araçtır. Esas olan algoritmik becerileriniz ve analitik düşünerek sorunu kolay yoldan nasıl çözebileceğinizdir. Tabi yazmış olduğunuz programlama dilinde kullandığınız yapılar ve ipucularınıda bilmeniz size zaman kazandıracaktır.
Sorulan soru basit bir soru ancak süre 5 dakika bu yüzden aklınızda yapıyı hemen kurgulayıp koda dökmeniz gerekmekte.
Haftanın 7 günü var bizden istenen bir fonksiyon yazmamız ve bu fonksiyonda ilk parametre olarak gün ismi diğer parametre ise ilerlenecek gün sayısı. Yani fonksiyona Pazartesi – 3 değerlerini gönderdiğimizde bize Perşembe cevabını döndürmesi gerekmekte. Bu işlemi sınırsız sayıda yapabilmeli.
Ben yazdığım kodu aşağda paylaştım. Sizde koda bakmadan yazmayı deneyebilirsiniz. Süre 5 dakika.
var days = ["Mon", "Tue", "Wed", "Thu","Fri", "Sat", "Sun"] func solution(s: String, k: Int) -> String { var counter:Int = 0 var cc:Int = 0 var ss:String = "" counter = days.index(of: s) ?? -1 while counter <= days.count { if counter >= days.count && counter % days.count == 0 { counter = 0 } if k == cc { ss = days[counter] break } else { cc += 1 } counter += 1 } return ss } solution(s: "Sat", k: 2) // Mon
İlk Yorumu Siz Yapın