ภาพรวม
เกม 3-6-9 (เกาหลี): นับ 1 ถึง n แต่ถ้าตัวเลขหาร 3 ลงตัว หรือ มีหลัก 3,6,9 → พูด "clap" แทน (โค้ดต้นฉบับใช้ "no-fill")
ตัวอย่าง n=20
['1', '2', 'clap', '4', '5', 'clap', '7', '8', 'clap', '10', '11', 'clap', 'clap', '14', 'clap', 'clap', '17', 'clap', 'clap', '20']
โค้ด Python
class Solution:
def solve(self, n):
string = "clap"
ls = [str(i) for i in range(1, n+1)]
for i in range(len(ls)):
if int(ls[i]) % 3 == 0:
ls[i] = string
elif '3' in ls[i]:
ls[i] = string
elif '6' in ls[i]:
ls[i] = string
elif '9' in ls[i]:
ls[i] = string
return ls
ob = Solution()
print(ob.solve(20))
วิธีเขียนสั้นกว่า
def clap_game(n):
return ['clap' if i%3==0 or any(d in str(i) for d in '369') else str(i) for i in range(1,n+1)]
ผลลัพธ์
['1', '2', 'clap', '4', '5', 'clap', '7', '8', 'clap', '10', '11', 'clap', 'clap', '14', 'clap', 'clap', '17', 'clap', 'clap', '20']