با توجه به عدد صحیح ورودی، طبق قوانین زیر یک عدد جدید به دست آورید:
- عدد را به گروههای دو رقمی تقسیم کنید. اگر عدد دارای تعداد ارقام فرد باشد،
"invalid"
را برگردانید. - برای هر گروه دو رقمی، رقم آخر را به تعداد دفعاتی که مقدار رقم اول است به یک رشته جدید اضافه کنید.
- نتیجه را به صورت یک عدد صحیح برگردانید.
look_and_say(3132) ➞ 111222
# با خواندن عدد به صورت رقم به رقم، سه "1" و سه "2" به دست میآید.
# بنابراین، سه تا یک و سه تا دو کنار هم قرار میگیرند.
نمونه ورودی و خروجی
LookAndSay(95) ➞ "555555555"
LookAndSay(1213141516171819) ➞ "23456789"
LookAndSay(120520) ➞ "200"
Assert.Equal("555555555", Backendbaz.LookAndSay(95)); Assert.Equal("23456789", Backendbaz.LookAndSay(1213141516171819)); Assert.Equal("200", Backendbaz.LookAndSay(120520)); Assert.Equal("invalid", Backendbaz.LookAndSay(231));
نظرات