자기계발
백준
2753 · 윤년

백준 2753번 윤년

문제

연도가 주어지면(1 이상 4000 이하) 윤년이면 1, 아니면 0을 출력한다. 윤년은 4의 배수이면서 100의 배수가 아닐 때, 또는 400의 배수일 때다. 2012년은 윤년이고, 1900년은 아니며, 2000년은 윤년이다.

풀이

elif로 or 조건의 경우를 따로 쓰면 같은 출력이 반복되어 비효율적이라고 판단했다. 대신 (4의 배수 and 100의 배수가 아님) or 400의 배수를 괄호로 묶어 if 한 번으로 검사한다.

year = int(input())
 
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print('1')
else:
    print('0')

출처