0일을 기점으로 2일마다 교실 청소를, 3일마다 복도 청소를, 12일마다 화장실 청소를 합니다. 날짜가 겹치는 날에는 주기가 더 긴 것을 하기로 했습니다. n일간 진행했을 때 각 장소의 청소 횟수를 차례로 출력하는 프로그램을 작성해주세요. 단, 시작 날인 0일에는 청소를 진행하지 않습니다. (1 ≤ n ≤ 1,000)
예제1 | 예제2 |
---|---|
입력: 11 | 입력: 24 |
출력: 4 3 0 | 출력: 8 6 2 |
날짜가 겹치는 날에는 주기가 더 긴 것을 하기로 했기에
12일 -> 3일 -> 2일
순서로 계산해야 한다.# 각 날짜마다 확인합니다. for i in range(1, n + 1): # 주기가 가장 긴 12일부터 확인합니다. if i % 12 == 0: cnt12 += 1 # 12일 주기에 들어오지 않는다면, 3일 주기에 들어오는지 확인합니다. elif i % 3 == 0: cnt3 += 1 # 3일 주기에도 들어오지 않는다면, 2일 주기에 들어오는지 확인합니다. elif i % 2 == 0: cnt2 += 1