ปัญหา
ตัวเลขถูกเรียกว่า "สมดุล" (Balanced) ถ้าความถี่ของทุกหลักที่ปรากฏเท่ากัน
ตัวอย่าง
num = 562256 → หลัก 5,6,2 แต่ละหลักปรากฏ 2 ครั้ง → True
แนวคิดการแก้ปัญหา
- แปลงตัวเลขเป็นสตริง
- นับความถี่ของแต่ละหลัก
- นำค่าความถี่ทั้งหมดใส่เซต → ถ้าขนาดเซต = 1 → ทุกค่าเท่ากัน
โค้ดตัวอย่าง
from collections import Counter
def solve(num):
freq = Counter(str(num))
return len(set(freq.values())) == 1
print(solve(562256)) # True
อินพุต / เอาต์พุต
Input: 562256 Output: True