728x90
2753번: 윤년
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서
www.acmicpc.net
입력: 첫줄 자연수 1개 → 연도
출력: 0 또는 1
풀이
풀이 1번
year = int(input())
if year%4==0 and year%100!=0:
print("1")
elif year%400==0:
print("1")
else:
print("0")
1) 첫 줄에 변수 year을 입력 받는다.
2 elif문을 사용해 윤년인지 판별한다.
① 연도가 4의 배수면서, 100의 배수가 아닌 경우
② 연도가 400의 배수인경우
💡배수인지 판별하는 방법은 해당 수를 나눈 나머지가 0인지 판단하면된다.
즉, year%4가 0이면 year은 4의 배수이고, 그 외의 숫자이면 4의 배수가 아니다.
3) 윤년인 경우 1을 출력하고 아니면 0을 출력한다.
풀이 2번
year = int(input())
if year%4==0 and year%100!=0 or year%400==0:
print("1")
else:
print("0")
방식은 풀이 1과 동일하다.
풀이 2는 elif문을 사용하지 않고 if문을 한 줄로 하여 논리연산자(and, or)를 중첩했다.
728x90
'CODING TEST > Beakjoon' 카테고리의 다른 글
[백준/15552 / python] 빠른 A+B (0) | 2023.09.05 |
---|---|
[백준/25304 / python] 영수증 (0) | 2023.09.05 |
[백준 / 2480 / python] 주사위 세개 (0) | 2023.08.31 |
[백준 / 2525 / python] 오븐 시계 - python (0) | 2023.08.31 |
[백준 / 10869 / python] 사칙연산 - python (0) | 2023.08.26 |