มีตัวเลข n สร้าง String จาก a-j (a=0,...,j=9) เช่น 42 -> "ec" แล้ว Repeat จนครบ Sum of Digits ตัวอักษร แล้วเช็ค Palindrome
เช่น Input n = 43 Output True (Digits 4,3 -> "ed", Sum=7 -> "ededede" เป็น Palindrome)
ขั้นตอนแก้:
- แปลง n เป็น String ดึง Digits
- Map Digits -> Letters a-j สร้าง Substr
- Sum Digits = Total Length
- Repeat Substr จนครบ Total Length ตัดให้พอดี
- เช็ค Palindrome
ตัวอย่างโค้ด
def isPalindrome(s):
return s == s[::-1]
def solve(n):
temp = ""
s = str(n)
letters = "abcdefghij"
sum = 0
substr = ""
for i in range(len(s)):
d = int(s[i])
substr += letters[d]
sum += d
while len(temp) <= sum:
temp += substr
temp = temp[:sum]
return isPalindrome(temp)
n = 43
print(solve(n))
Input
43
Output
True