1. 문제 확인
codeup python 1166번 문제 윤년(leap year) 판별
2월이 29일까지 있는 해를 윤년이라고 한다.
어떤 해가 입력되면 그 해가 윤년인지 아닌지 판별하시오.
윤년 판단 조건)
1. 해(year)가 4의 배수이면서 100의 배수가 아니면 윤년.
2. 400의 배수이면 윤년.
위 두 조건 중 하나라도 맞으면 윤년이다.
입력
해(year)가 입력된다.
출력
윤년이면 "yes"를 출력, 윤년이 아니면 "no"를 출력하시오.
2. 문제 분석
문제에서 윤년을 구하는 조건을 제시했다. 따라서 python 코드를 작성할 때 순차적으로
1. year 변수를 정수값으로 입력받는다.
=> year 변수를 input()함수로 입력을 받으며 int()함수로 정수형 변환을 해준다.
2. 윤년 판단 조건을 조건문으로 만든다.
=> 윤년 판단 조건에서는 year의 배수를 확인하는데, 프로그래밍에서 배수를 확인할 때는 n배수인 경우 `year % n == 0`인 경우 year는 n의 배수라고 한다.
=> 조건에서 '~이면서'는 논리연산자에서 `and`를 의미하고, '두 조건 중 하나라도 맞으면'은 '~이거나'로 바꿀 수 있으며 논리연산자 `or`를 의미한다.
3. 윤년 판단 조건에 따른 출력을 한다.
=> 조건문의 판단결과에 따라 print()함수를 이용해 예시 출력에 맞는 출력을 한다.
3. 문제 구현
# 1. year 변수를 정수로 입력받는다.
year = int(input())
# 2. 윤년 판단 조건문을 세운다.
if ((year % 4 == 0) and (year % 100 != 0)) or (year % 400 == 0):
# 3-1. 윤년 판단 조건에 따라 출력을 한다.
print('yes')
else:
# 3-2. 윤년 판단 조건에 따라 출력을 한다.
print('no')