본문 바로가기

개발공부/Algorithm

윤년알고리즘

Q. 주어진 년도가 윤년인지 아닌지 판단하는 코드를 작성하시오.

 

윤년이란?

지구가 태양을 한 번 공전하면 1년이다. 365일 5시간 49분으로 돌기 때문에 4년이 지나면 이 시간은 약 하루가 더 생기게 된다. 이를 맞추기 위해 4년마다 2월을 하루 더 늘리는 해를 윤년이라고 한다.
하지만 이렇게 계산하면 또 매년 11분 정도가 초과되어 계산된다. 이는 131년이 지나면 또 다시 하루가 되기 때문에 대부분의 국가에서는 400년에 총 3일을 어림잡아 계산하여 100년마다 한 번 윤년을 없애고 400년 마다 다시 하루를 추가해 윤년을 계산한다.

 

 

윤년 알고리즘의 조건

1. 4로 나누어 떨어지는 해는 윤년이다.

2. 1단계에서 100으로 나누어 떨어지는 해는 평년이다.

3. 2단계를 만족하지만 400으로 나누어 떨어지는 해는 윤년이다.

 

윤년 알고리즘의 흐름도

소스코드

def is_yoon(y):
    if y % 4 != 0:
        return "false"
    if y % 100 != 0:
        return "true"
    if y % 400 != 0:
        return "false"
    return "true"

y = int(input())

print(is_yoon(y))

'개발공부 > Algorithm' 카테고리의 다른 글

[백준] 브루트포스(Brute Force) 알고리즘  (2) 2024.09.19
[백준] 알고리즘 복잡도  (0) 2024.09.19