본문 바로가기
Python/Baekjoon

[백준] 2753번 : 윤년 (Python)

by 고구마랑쪼오꼬랑 2024. 11. 24.

문제

https://www.acmicpc.net/problem/2753

 

 

 

소스 코드

year=int(input())

if(year%4==0 and year%100!=0 or year%400==0):
    print(1)
else:
    print(0)

 

 

정리

문제에서 나온 문장 그대로 조건문을 작성해주면 되는 문제이다.

' 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다'

이 문장에서 '이면서' 는 and로 작성하고, '또는' 은 or로 작성해준다.

 

분명 지구과학에서 배운 지식이였지만,, 지금은 잘 생각이 나지 않는 '윤년'

윤년이 무엇인지 찾아봤다.

 

윤년이란, 태양력에서 평균보다 하루 더 긴 366일을 가진 해를 말한다.

4년에 1번씩 2월 29일 하루(윤일)를 추가해서 넣어 윤년이라고 부른다.

 

 

실제 지구의 공전주기, 즉 태양년은 정확히 365일이 아닌 365.2422일이라고 한다.

다만, 역법에서는 하루를 단위로 끊어 뒷자리를 버림하기 때문에 해를 거듭할 수록 이 오차가 커지면서 4년이 지나면 하루에 해당할 정도의 오차가 발생한다.

이 때문에 4년에 한번씩 윤년을 두어 4년간의 오차를 바로잡게 하는 원리라고 한다.

 

신기하다!