بکندباز

یک لانه‌کلمه با قراردادن متوالی یک کلمه در داخل خودش ساخته می‌شود. عمق لانه نشان‌دهنده تعداد دفعاتی است که این عمل تکرار شده است.

روش ساخت:

  1. کلمه شروع را در نظر بگیرید.
  2. در هر مرحله، کلمه اصلی را داخل نسخه فعلی قرار دهید.
  3. این فرآیند تا رسیدن به لانه نهایی ادامه می‌یابد.

مثال با کلمه “incredible” و عمق 3:

  • شروع: incredible
  • مرحله ۱: incre + incredible + dible = increincredibledible
  • مرحله ۲: increin + incredible + credibledible = increinincrediblecredibledible
  • مرحله ۳: increinincr + incredible + ediblecredibledible = increinincrincredibleediblecredibledible

تابعی بنویسید که با دریافت کلمه شروع و لانه نهایی، عمق لانه را برگرداند.

نمونه ورودی و خروجی

WordNest("floor", "floor") ➞ 0

WordNest("code", "cocodccococodededeodeede") ➞ 5

WordNest("incredible", "increinincrincredibleediblecredibledible") ➞ 3
EXPECT_EQ(WordNest("floor", "floor"), 0);
EXPECT_EQ(WordNest("code", "cocodccococodededeodeede"), 5);
EXPECT_EQ(WordNest("incredible", "increinincrincredibleediblecredibledible"), 3);
EXPECT_EQ(WordNest("jinx", "jijijjijjijijjinxinxnxnxinxnxinxnxnx"), 8);
EXPECT_EQ(WordNest("last", "lalastst"), 1);
EXPECT_EQ(WordNest("silence", "sisilsisilencelenceencelence"), 3);

برای ثبت پاسخ خود، ابتدا باید در سایت وارد شوید.

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*

    DanialMahdik پاسخ

    سلام
    ممکنه توضیح بدید که چطور باید لانه کلمه رو بدست آورد؟
    فکر میکردم به این شکل باشه که:
    ca + cake + ke اما به نظر میاد که اینطور نیست
    همچنین چطور باید دونست که قسمت های کلمه اصلی در دوطرفش چندبار تکرار شدن به طوری که خودش را بسازن؟

      backendbaz پاسخ

      سلام. وقت بخیر

      در هر مرحله، کلمه اصلی میتونه در هر جایی در بین مرحله قبل قرار بگیره. این مثالی که شما نوشتید هم درست هست، ولی میتونه همیشه وسط جمله قبل نباشه و هر جایی در بین مرحله قبل قرار میگیره. حالا شما باید الگوریتمی برای حل این مسئله پیدا کنید که بتونه تعداد این مراحل رو به دست بیاره.

      اینجا بیشتر مهمه که بتونید روش حل مسئله رو کشف کنید و سینتکس خاصی نداره.

تمرینات مرتبط