문제
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.
윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.
예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.
풀이
비교 연산을 위하여 input 받아온 a 를 정수형으로 변환한다.
먼저, 윤년의 변수명을 a 라 하고 문제의 조건들을 하나씩 코드로 나타내면
1. 윤년은 연도가 4의 배수
a % 4 == 0
(4의 배수는 거꾸로 표현하면 4로 나누었을 때 나머지 값이 0인 것과 같다.)
2. 100의 배수가 아닐때
a % 100 != 0
(100의 배수가 아니라는 것은 나누었을 때 나머지가 0 이 아닌 값이다.)
3. 400의 배수일 때
a % 400 == 0
(1번과 마찬가지의 논리)
정리한 조건을 if 문의 조건식으로 적고, print 함수를 이용하여 주어진 값을 출력한다.
** 이 문제에서는 괄호의 위치와 유무는 정답에 영향이 가지 않았다.
'[파이썬]알고리즘공부' 카테고리의 다른 글
백준 [2884] 알림시계 (0) | 2021.11.20 |
---|---|
백준 [14681] 사분면 고르기 (0) | 2021.11.19 |
백준 [9498] 시험성적 (0) | 2021.11.19 |
백준 [1330] 두 수 비교하기 (0) | 2021.11.19 |
백준 [10430] 나머지 연산 (0) | 2021.11.19 |