청소당번 정하기

훈이는못말려·2023년 7월 26일
0

Algorithm

목록 보기
4/7
post-thumbnail

문제

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

0개의 댓글