สมมติว่าเรามีตัวเลข n ในรูปแบบสตริง เราต้องหาจำนวน deci-binary numbers น้อยที่สุดที่จำเป็น ผลรวมของพวกเขาเท่ากับ n Deci-binary number คือเลขฐานสิบที่ตัวเลขแต่ละหลักเป็น 0 หรือ 1 เท่านั้น
เช่น ถ้าอินพุตคือ n = "132" ผลลัพธ์จะเป็น 3 เพราะ 132 เป็นผลรวมของสาม deci-binary number (10 + 11 + 111)
วิธีแก้ปัญหา
- result := 1
- สำหรับแต่ละ i ใน n:
- ถ้า i ไม่อยู่ใน {0,1}: result := max(result, int(i))
- return result
ตัวอย่าง
def solve(n):
result = 1
for i in n:
if i not in {0,1}:
result = max(result, int(i))
return result
n = "132"
print(solve(n))
อินพุต
132
เอาต์พุต
3