본문 바로가기

알고리즘/백준알고리즘

[백준 알고리즘/Python3] 2753 윤년

문제

 

문제를 해석할 때 연도가 4의 배수 이면서 100의 배수가 아닐때 또는 400의 배수일때 라고 나와있다.

 

4의 배수가 충족되고 100의 배수는 아니고 400의 배수가 맞을 때 라고 생각했는데

 

4의배수 and 100의 배수 

400의 배수

 

이 두가지 경우가 있던 것이였다.

 

Python 코드 

year = int(input())
a = 0
if((year % 4) == 0):
    if((year%100) != 0):
        a = 1

if((year % 400) == 0):
    a = 1
print(a)

 

 

할당하는 부분에서 메모리를 더 쓸거 같다.

 

다른사람 코드를 보니 python 답게 1줄로 요약할 수 있었다. 물론 할당도 안할 수 있었다.

 

 

year = int(input())

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

python의 and, or문을 이용해서 깔끔하게 1줄로 정리할 수 있다.

 

 

728x90