본문 바로가기
python

CodeUp Python 1166 윤년 판별

by Devinus 2021. 7. 24.

1. 문제 확인

codeup python 1166번 문제 윤년(leap year) 판별

 

2월이 29일까지 있는 해를 윤년이라고 한다.

어떤 해가 입력되면 그 해가 윤년인지 아닌지 판별하시오.

 

윤년 판단 조건)

1. 해(year)가 4의 배수이면서 100의 배수가 아니면 윤년.

2. 400의 배수이면 윤년.

위 두 조건 중 하나라도 맞으면 윤년이다.

 

입력

해(year)가 입력된다.

 

출력

윤년이면 "yes"를 출력, 윤년이 아니면 "no"를 출력하시오.

 

[사진 1] - codeup 1166 입출력 예시


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')