🍕 문제 접근
처음 문제를 읽었을 때 '윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때' 라길래
윤년은 [4의 배수이면서 100의 배수가 아닐 때] or [400의 배수일 때] 문제를 이렇게 읽어가지고
'4의 배수이면서 100의 배수가 아닐수가 있나?' 라는 생각을 했었다. 그러다 보니.. 완전 문제를 못풀겠어서
풀이를 조금 풀어보니까
4의 배수 and (100의 배수가 아닐때 or 400의 배수일 때) 이렇게 보는 것이었다.
그 이후로는 잘 풀었다!
🍕 내 코드(정답)
x = int(input())
if (x%4==0 and (x%100 != 0 or x%400 == 0)):
print (1)
else:
print (0)
일단 x로 년도 값을 받아주고, if 조건문으로 윤년일 때, 윤년이 아닐 때를 각각 print 해주는 문구를 작성했다.
if의 조건
우선 if의 조건은 윤년일 때 조건을 써줬다
윤년이기 위해서는 4의 배수여야 하니까 %연산자를 써 줬다.
%는 값을 나누면 몫이 아닌 나머지 값을 알려주는 연산자이다.
그러니까 x%==0 라는 조건은 [x를 4로 나눴을 때의 나머지 값은 0]이라는 뜻 이니까 딱 나눠 떨어진다는 것이고. 그럼 4의 배수라는 소리가 된다.
그리고(and)
[100의 배수가 아닐때 or 400의 배수일 때]를 코드로 작성해보자면
위에서와 같이 나머지가 0인지 아닌지를 따져서 x가 100의 배수가 아닐 때 와 400의 배수일 때를 알 수 있게 해줬다.
'🖥️개발 > 🧸Python' 카테고리의 다른 글
[노마드코더 강의] 변수, 데이터타입, 함수 (0) | 2023.03.21 |
---|