코딩공부/알고리즘

[파이썬 풀이] 백준 2753.윤년

잉옐잉 2021. 11. 4. 21:28

문제   

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.

예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

 

입력   

첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다.

ex1) 2000

ex2) 1999

 

출력   

첫째 줄에 윤년이면 1, 아니면 0을 출력한다.

ex1) 1

ex2) 0

 

코드   

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

 

관련 개념 정리   

input

파이썬에서는 값을 사용자로부터 입력받을때 input함수를 사용합니다.

입력받은 값을 넣을 변수 이름 = input("띄울 메세지")

 

단! input함수는 입력받은 모든 내용을 문자열로 인식합니다. 따라서 입력받은 내용을 정수로 변환하려면

d = int(input())

와 같은 형태로 작성하거나,  나중에 변수를 사용할때

print(int(d)+2)

와 같이 int()로 감싸서 작성할 수 있습니다.

 

 

if문

<조건> 하면, <코드>를 실행하고 싶을때 쓸 수 있는것이 바로 if문입니다.

기본적인 형태는 아래와 같습니다.

if 조건문 1:
	실행 코드 1 ...
elif 조건문 2:
	실행 코드 2 ...
else:
	실행 코드 3 ...

해석을 하자면, 조건문 1을 충족하면 실행 코드 1을 실행하고, 그게 아닌 조건문 2를 충족하면 실행 코드 2를 실행한다.

조건문 1과 조건문 2를 모두 충족하지 않으면 실행 코드 3을 실행한다. 입니다.

elif와 else는 필수는 아닙니다.

 

 

비교연산자

조건문에는 주로 두 수를 비교하는 비교연산자가 사용됩니다.

x<y x는 y보다 작다.
x<=y x는 y보다 작거나 같다.
x>y x는 y보다 크다.
x>=y x는 y보다 크거나 같다.
x==y x와 y는 같다.
x!=y x와 y는 같지 않다.

 

 

나머지 연산자

변수를 변수로 나눈 나머지를 구하고 싶을 때는 %라는 연산자를 사용합니다.

a = 8
b = 3

print(a%b)
# 2

 

 

논리 and 연산자

and 연산자는 비교하는 두 대상이 모두 참일때만 true를 반환하고,

하나라도 거짓일 경우 false를 반환합니다.

a and b

비교 할 두 대상 사이에 and를 타이핑하면 됩니다.

 

+) 비트 연산자 &

a & b

파이썬에서 &는 비트연산자 입니다.

두 대상을 비트 연산을 한 후 결과를 도출합니다.

 

 

논리 or 연산자

or 연산자는 비교하는 두 대상중 하나라도 참이 있을 경우 true를 반환하고,

모두 다 거짓일 경우 false를 반환합니다.

a or b

비교 할 두 대상 사이에 or를 타이핑하면 됩니다.

 

+) 비트 연산자 |

a | b

파이썬에서 |는 비트연산자 입니다.

두 대상을 비트 연산을 한 후 결과를 도출합니다.