بکندباز

سنکوپ به معنای تأکید روی ضرب ضعیف یک میزان موسیقی است؛ معمولاً روی ضرب‌های ۲ و ۴ (و تمام ضرب‌های زوج دیگر در صورت وجود) انجام می‌شود.

به شما یک رشته داده می‌شود که ضرب‌ها را نمایش می‌دهد؛ در این رشته، علامت # نشان‌دهنده ضرب‌های تأکید شده است. یک تابع بنویسید که بررسی کند آیا این خط موسیقی شامل هرگونه سنکوپ (تأکید روی ضرب‌های زوج) است یا خیر. در صورت وجود سنکوپ، True و در غیر این صورت False برگردانید.

مثال

has_syncopation(".#.#.#.#") ➞ True
# علامت # در موقعیت‌های دوم، چهارم، ششم و هشتم قرار دارد.

has_syncopation("#.#...#.") ➞ False
# علامت # در موقعیت‌های دوم، چهارم، ششم یا هشتم قرار ندارد.

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

HasSyncopation(".#.#.#.#") ➞ True

HasSyncopation("#.#...#.") ➞ False

HasSyncopation("#.#.###.") ➞ True

نکات:

  • تمام ضرب‌های بدون تأکید به‌صورت یک نقطه نمایش داده می‌شوند.
  • فقط ضرب‌های زوج دارای علامت # نشان‌دهنده سنکوپ هستند.
EXPECT_EQ(HasSyncopation(".#.#.#.#"), true);
EXPECT_EQ(HasSyncopation("#.#...#."), false);
EXPECT_EQ(HasSyncopation("#.#.###."), true);
EXPECT_EQ(HasSyncopation("##"), true);
EXPECT_EQ(HasSyncopation("####...."), true);
EXPECT_EQ(HasSyncopation("#"), false);
EXPECT_EQ(HasSyncopation(".#"), true);

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

نظرات

*
*