문제
해결 과정
간단한 조건 문제이다. 입력받은 연도가 윤년인지 아닌지를 판별하여 출력하면 된다.
이때 연도의 범위가 이므로 int 자료형으로 충분하다.
예시 답안
풀이 1 - 조건문
문제에 제시한 대로 가 4의 배수이면서 100의 배수가 아니거나, 400의 배수이면 윤년이다. 이를 조건문으로 표현하면 된다.
#include <iostream>
using namespace std;
int main() {
int year; cin >> year;
if (year % 4 != 0) cout << 0;
else if (year % 100 != 0) cout << 1;
else if (year % 400 != 0) cout << 0;
else cout << 1;
return 0;
}풀이 2 - 삼항 연산자
삼항 연산자를 사용하면 더 간단하게 표현할 수 있다.
#include <iostream>
using namespace std;
int main() {
int year; cin >> year;
cout << ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ? 1 : 0);
return 0;
}문제 풀이 팁
Tip
- 조건문을 사용할 때
else는if에 대한 조건을 제외한 나머지 조건을 검사한다. 이를 이용하면 조건문을 간단하게 표현할 수 있다.- 삼항 연산자는
condition ? true : false의 형태를 가진다.condition이 참이면true의 결과가, 거짓이면false의 결과가 반환된다.