สมมติว่ามีตัวเลขบวก n แทนจำนวนเซนต์ เราต้องหาจำนวนเงินที่จัดรูปแบบเป็นสกุลเงิน
เช่น ถ้าอินพุตคือ n = 123456 ผลลัพธ์จะเป็น "1,234.56"
ขั้นตอนการแก้ปัญหา
- cents := n เป็นสตริง
- ถ้าขนาดของ cents < 2 คืนค่า '0.0' + cents
- ถ้าขนาดของ cents == 2 คืนค่า '0.' + cents
- currency := สับสตริงของ cents ยกเว้นสองหลักสุดท้าย
- cents := '.' + สองหลักสุดท้าย
- while ขนาดของ currency > 3 ทำ
- cents := ',' + สามหลักสุดท้ายของ currency + cents
- currency := สับสตริงของ currency ยกเว้นสามหลักสุดท้าย
- cents := currency + cents
- คืนค่า cents
ตัวอย่างโค้ด
class Solution:
def solve(self, n):
cents = str(n)
if len(cents) < 2:
return '0.0' + cents
if len(cents) == 2:
return '0.' + cents
currency = cents[:-2]
cents = '.' + cents[-2:]
while len(currency) > 3:
cents = ',' + currency[-3:] + cents
currency = currency[:-3]
cents = currency + cents
return cents
ob = Solution()
print(ob.solve(523644))
อินพุต
523644
เอาต์พุต
5,236.44