본문 바로가기
알고리즘(백준)

[백준] 조건문 > 2753 : 윤년 (Python)

by JeeUDev 2025. 5. 13.

안녕하세요. 백준 알고리즘을 처음부터 꾸준하게 작성하여 문제 풀이 진행해보려고 합니다 !

제가 사용하는 언어는 Python 입니다 !

 

문제

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

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

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

입력

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

출력

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

 

문제풀이 1.
a = int(input())

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

 

  1. input() : 문자열 입력
  2. int() : 요소를 int형으로 변환
  3. if : 4의 배수는 곧 4로 나눴을 때 나머지가 0인 수
  4. if : 100의 배수가 아니라고 하였으니 나머지가 0이 아닌 수
  5. if : 400의 배수라고 하였으니 나머지가 0인 수
  6. and : 좌, 우가 모두 조건을 충족해야 True 하나라도 틀렸다면 False
  7. or : 좌, 우 하나라도 조건이 True라면 True 둘 다 틀렸다면 False

유의사항

1. 조건이 세 가지가 있으므로 모두 충족을 해야 True or False 하나의 결과 값을 출력이 가능하기에 한줄로 표기

 

문제 내용 스크린샷

문제 내용 스크린샷

 

문제 소스 스크린샷

문제 소스 스크린샷

제출 스크린샷

제출 스크린샷

감사합니다.

댓글