Bir başka mülakat sorusu ile karşınızdayım. Açıkçası sıkça sorulup sorulmadığından emin değilim ama her problemi çözmeye çalışmanın yazılım geliştiriciye mutlaka bir şeyler kattığını düşünüyorum. Üstelik eğlenceli bile bulabilirsiniz kim bilir! :)
Bu konu ile ilgili yazdığım önceki yazıya buradan ulaşabilirsiniz.
Sorumuz şöyle:
Parametre olarak pozitif bir sayı (N) kabul eden bir fonksiyon yazın. Bu fonksiyon console.log ile '#' karakterlerini kullanarak N seviyeden oluşan bir piramit şekli oluşturmalı. Piramit şeklinin hem sağ hem sol tarafında boşluklar olmasına dikkat edin. Örnek: N=3 için;
Aslında çok karmaşık bir problem değil. Öncelikle yandaki örnek görsele baktığımızda 3 seviyeli bir piramit için boşluklar dahil 3x5'lik bir dörtgen ile uğraştığımızı görebiliriz. Oluşacak piramidin en üst seviyesinde her zaman bir '#' karakteri olacak ve tam ortada yer alacak. N seviyelik piramidin içinde her satır (seviye) için sırasıyla hangi karakterin gelmesi gerektiğine karar verip satırı tek seferde yazdıracağız. İki farklı çözüm yazacağım. Biri döngülerle ikincisi ise recursive bir fonksiyonla olacak.
İlk çözüm şöyle olabilir: