백준 2753번_파이썬 알고리즘
Q. 백준 2753. 윤년
사용자로 부터 연도를 입력받고 윤년인지 아닌지 판단하는 프로그램을 작성한다. 결과값은 윤년이면 1, 아니면 0을 출력하도록 한다. 윤년의 조건은 아래와 같다.
※ 윤년의 조건 : '연도가 4의 배수이면서 100의 배수가 아닐 때' 또는 '400의 배수일 때'
(1) 입력 : 첫째 줄에 사용자로부터 연도 yr을 입력받는다. (1<= yr <= 4000, 자연수)
(2) 출력 : 입력받은 연도 yr을 판별하고, 윤년이면 '1', 아니면 '0'을 출력하는 프로그램을 작성한다.
A. 풀이
- 사용자로부터 연도의 값을 입력받고, 조건에 맞는지 검사 후 결과값을 출력해주는 문제
# Q 백준 2753, 윤년
yr = int(input())
if ((yr%4 == 0)&(yr%100 != 0))|(yr%400 == 0):
print(1)
else:
print(0)
1) 변수 선언부
- 사용자로부터 년도 값을 입력받고 정수형으로 변환하여 할당한다.
2) 조건문(if문)
- 윤년의 조건 3가지가 주어졌다. 이를 검사하여 맞다면 '1', 아닌다면 '0'이므로 아래와 같이 조건을 짤 수 있다.
if ((yr%4 == 0)&(yr%100 != 0))|(yr%400 == 0):
- 조건문은 3가지 조건을 위와 같이 만들어 주었다. and조건은 'and'나 '&'를 사용할 수 있고, or조건은 'or'나 '|'를 사용하면 된다. 본 문제에서는 '&'와 '|'를 사용하였다.
R. 리뷰
- 문제에서 제시된 세가지 조건을 충족하는지 아닌지 판별하기 위해서 if문을 사용하였다. 문제가 간단해서 한줄에 작성하였지만, 문제가 더 복잡해지면 어떻게 작성할 지 한번쯤 생각해보는 것이 좋을 것 같다.
- 윤년의 조건을 정확하게 알고있지는 않았는데, 코드 외에도 새롭게 알게되는 점이 있었던 문제였다. 4의 배수의 년도라고만 생각했는데 100의 배수는 아니어야 하고, 또 400의 배수는 예외라는 점이 새롭게 알게 된 점이다. 음력은 항상 새롭고 신기하다.
'DEV > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 1110번(파이썬) (0) | 2022.09.25 |
---|---|
백준 알고리즘 10950번, 10951번, 10952번(파이썬) (0) | 2022.09.24 |
백준 알고리즘 11021번, 11022번(파이썬) (1) | 2022.09.22 |
백준 알고리즘 25304번(파이썬) (1) | 2022.09.21 |
백준 알고리즘 2739번(파이썬) (0) | 2022.09.20 |
댓글