من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

حل تمرین کادوی پوپک پسند کوئرا با پایتون

حل تمرین کادوی پوپک پسند کوئرا با پایتون
حل تمرین کادوی پوپک پسند کوئرا با پایتون

حل تمرین کادوی پوپک پسند کوئرا با پایتون

در این نوشته به روش حل یکی از سوالات برنامه نویسی وب‌سایت کوئرا می‌پردازیم.

 

حل تمرین کادوی پوپک پسند کوئرا با پایتون

توک به مناسبت ولنتاین میخواهد هدیه زیبایی به پوپک بدهد…

از آن‌جایی که توک پول زیادی ندارد، به زحمت توانسته است که یک رشته باینری بخرد. توک می‌داند که رشته باینری خیلی جذاب نیست بنابراین تصمیم گرفته است تغییری در آن ایجاد کند. او می‌تواند رشته‌اش را به a رشته با طول برابر افراز کند. و در نهایت and بیتی این a رشته را به عنوان کادو به پوپک بدهد. هر چه عدد متناظر با رشته باینری‌ای که توک به پوپک می‌دهد بیشتر شود، پوپک شادتر می‌شود. بهترین رشته‌ای که توک به پوپک باید هدیه بدهد (یعنی رشته‌ای که عدد متناظر با آن بیشینه است.) را بدون صفر در پشت رشته (leading zeroes) چاپ کنید. برای مثال اگر رشته توک 110101 شود، توک با انتخاب a=3 ، آن را به سه رشته 11,01,01 تقسیم می‌کند که and بیتی این رشته برابر 01 است پس رشته‌ای که توک به پوپک در این حالت هدیه می‌دهد 1 است. به شکل مشابه اگر توک a=2 را انتخاب کند آن‌گاه رشته‌اش را به دو رشته 110,101 تقسیم می‌کند و رشته‌ای که کادو می‌دهد 100 خواهد بود در حالی که با انتخاب a=1 ، رشته‌ای که توک به پوپک هدیه می‌دهد 110101 می‌شود، پس چون عدد مربوط به این‌ رشته از بقیه رشته‌ها بیشتر است توک باید این رشته را به پوپک کادو بدهد! (می‌توانید بقیه‌ حالات را نیز بررسی کنید، که به جواب کوچک‌تری نسبت به این رشته منتهی می‌شوند.) چنانچه عدد متناظر با رشته‌ای که توک کادو می‌دهد 0 شود، در خروجی 0 چاپ کنید.

 

ورودی

در تنها خط ورودی رشته باینری که توک خریده است، آمده است. اگر طول رشته توک را با n نشان دهیم.

ورودی در تمرین کادوی پوپک پسند

 

خروجی

در تنها خط خروجی رشته‌ای که توک به پوپک هدیه می‌دهد را چاپ کنید.

 

مثال

ورودی نمونه 1

011

 

خروجی نمونه 1

11

 

ورودی نمونه 2

110101

 

خروجی نمونه 2

110101

این تست نمونه در صورت سوالات توضیح داده شده است.

 

ورودی نمونه 3

5
11111111
12345678
34666825
12344321
17544721

 

خروجی نمونه 3

0

 

کد پایتون سوال تمرین کادوی پوپک پسند

s = input().strip() 
flag = False 

for char in s: 
    if char == '1': 
        flag = True 
    if flag: 
        print(char, end='') 

if not flag: 
    print('0') 

print()

 

منبع سوال: کوئرا

اگر نیاز به حل تمرین‌های دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]