[BOJ] #2753 - 윤년
👻 윤년
🌱 문제
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.
윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.
예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.
- 시간 제한 : 1초
- 메모리 제한 : 128 MB
🌱 입력
첫째 줄에 연도가 주어진다., 연도는 1보다 크고나 같고, 4000보다 작거나 같은 자연수이다.
🌱 출력
첫째 줄에 윤년이면 1, 아니면 0을 출력한다.
🌱 예제
🪐 입출력 1
- 입력
2000
- 출력
1
🪐 입출력 2
- 입력
1999
- 출력
0
👻 풀이
#include <iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
// 윤년
int y = 0;
int ret = 0;
cin >> y;
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) ret = 1;
cout << ret << '\n';
return 0;
}
- 시간 : 0 ms
- 메모리 : 2020 KB
👻 글을 마치며
문제 자체는 쉬웠는데 조건식을 설정하는 것에서 시간이 약간 소요된 것 같다. 고려해야 할 조건이 많아서 자칫하면 많은 조건문이 나올 수 있었는데 잘 정리가 된 것 같다.
Leave a comment