백준 2753번 풀이

문제

연도를 입력받아서 윤년인지 아닌지 판정하고, 윤년이면 1을, 윤년이 아니면 0을 출력하시오.

풀이

윤년이 뭔고 하니… 4의 배수 해가 되면 2월이 28일이 아니라 29일까지 있다. 그래서 윤년 끼면 내 생일이 2월 28일 다음날이 된다. 원래 윤년이 안 끼면 2월과 3월은 날짜가 같기 때문.

a=int(input())
if a % 4 == 0 and a % 100 != 0:
    print(1)
elif a % 400 == 0:
    print(1)
else: 
    print(0)

윤년의 조건은

  1. 4의 배수 해이면서 100의 배수가 아닌 해
  2. 400의 배수인 해

둘 중 하나이다. 그래서 저 조건에 부합하지 않으면 다 else로 처리하면 장땡. a % b는 a를 b로 나눈 나머지.