Cho số n, tạo danh sách từ 1 đến n. Nếu số chia hết cho 3 hoặc chứa chữ số 3,6,9 thì thay bằng chuỗi "no-fill" (hoặc "clap").
Ví dụ: n=20 → danh sách có "clap" ở các vị trí 3,6,9,12,13,15,16,18,19.
Các bước giải quyết
string = "no-fill"ls = [str(i) for i in range(1, n+1)]- Duyệt chỉ số
i:- Nếu
int(ls[i]) % 3 == 0→ls[i] = string - Ngược lại nếu '3'/'6'/'9' trong
ls[i]→ls[i] = string
- Nếu
- Trả về
ls
Ví dụ mã Python
class Solution:
def solve(self, n):
string = "no-fill"
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))
Đầu vào
20
Đầu ra
['1', '2', 'clap', '4', '5', 'clap', '7', '8', 'clap', '10', '11', 'clap', 'clap', '14', 'clap', 'clap', '17', 'clap', 'clap', '20']