백준 알고리즘

백준 2753번 : 윤년 문제풀이 [파이썬]

고인호 2022. 10. 28. 10:29
반응형

백준 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

 


 

 

<작성한 코드>

 

 


 

 

<코드 풀이>

 

본 문제에는 윤년의 계산방법이 문제에 이미 들어가있다. 

<윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 >

 

위의 윤년에 대한 조건을 조건문으로 작성하면 

1. 4의 배수 -> 4로 나누었을 때 나머지가 0

2. 100의 배수가 아님 -> 100으로 나누었을 때 나머지가 0이 아니어야함

와 같은 1번, 2번 조건이 and(그리고)로 묶여야한다. 

 

 

따라서 다음과 같이 코드를 작성했다.

!= 0 은 0이 아니다라는 뜻

 

 

 

 

윤년에 대한 또 다른 하나의 조건은

<400의 배수일 때> 도 해당한다. 

따라서 다음과 같이 400으로 나누었을 때 나머지가 0이 된다면 1을 출력하도록 작성해주었다. 

 

 

 

 

이 문제 역시 별다른 생각할 부분 없이, 문제에서 주어진 조건들을 조건문으로 옮겨넣기만 하면 해결되는 간단한 문제였다. 

반응형