แนวคิด
รับสตริงตัวเลขยาว แยกเป็นชุดละ K ตัวอักษร แปลงเป็น integer
ตัวอย่างโค้ด
my_string = '69426874124863145'
print("สตริง:", my_string)
K = 4
print("K =", K)
my_result = []
for i in range(0, len(my_string), K):
chunk = my_string[i:i+K]
my_result.append(int(chunk))
print("ผลลัพธ์:", my_result)
my_result.sort()
print("หลังเรียง:", my_result)
ผลลัพธ์
สตริง: 69426874124863145
K = 4
ผลลัพธ์: [6942, 6874, 1248, 6314, 5]
หลังเรียง: [5, 1248, 6314, 6874, 6942]
คำอธิบาย
range(0, len(s), K)ก้าวล่าม K ตัวs[i:i+K]สไลด์ชุดละ K- ชุดสุดท้ายอาจสั้นกว่า K (ในที่นี้เหลือ '5' 1 หลัก)
List Comprehension
result = [int(my_string[i:i+K]) for i in range(0, len(my_string), K)]
กรณีต้องการ padding ชุดสุดท้าย
# เพิ่มศูนย์หน้าชุดสุดท้ายให้ครบ K หลัก
chunks = [my_string[i:i+K].zfill(K) for i in range(0, len(my_string), K)]
result = [int(c) for c in chunks]