[BOJ/백준-Python]2753번 - 윤년

2753번 - 윤년

문제

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

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

예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

입력

첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다.

출력

첫째 줄에 윤년이면 1, 아니면 0을 출력한다.

예제 입력 1

2000

예제 출력 1

1

예제 입력 2

1999

예제 출력 2

0

해결할 방법을 생각해보자.💡

연도는 2021, 2022 이런식으로 정수형으로 주어진다.

그렇기에 연도(year)를 받아주는 코드를 먼저 작성한다.

year = int(input())

이제 윤년일 경우를 따져보자.

문제에 따르면 윤년일 경우를 다음과 같이 정리할 수 있다.

  1. 4의 배수O & 100의 배수 X
  2. 400의 배수 O

그리고 윤달이면 1을 출력, 아니면 0을 출력이다.

파이썬 코드로 정리하면 다음과 같다.

먼저 윤년일 경우다.

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

(1) 4의 배수이면서 100의 배수가 아니여야한다.

  • 나머지를 구해주는 % 연산자를 사용해 if문을 조건을 적어주면 된다. 4의 배수라면 4로 나눈 몫이 0일 것이고, 100으로 나눈 몫이 0이 아닐 것이다. 이 두 가지 조건을 동시에 만족해야한다. 그래서 and로 둘다 true일 경우 true가 나올 것이다.

(2) 400의 배수다.

  • 그리고 400의 배수일 경우일 때도 똑같이 적용할 수 있다. 연도를 400으로 나눴을 때 몫이 0이라면 그 연도는 400의 배수다.

(1)조건이거나 (2)조건에 맞을 경우 윤년이므로 or 을 사용한다. 그리고 1을 출력한다.

다음은 윤년이 아닐 경우다.

else:
    print(0)

위에서 적어놓은 조건 외에는 모두 윤년이 아니다. 따라서 else문을 적어주고 0을 출력해주면 된다.

코드💻

year = int(input())

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

해결 로그

문제 푼 날짜 체크
2022-02-09
   
   
   
   

2022

[web]jQuery 복습 3

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

13 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

14 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

5 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

10 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑