오늘은 "단계별로 풀어보기" 2단계를 풀어보았다. 이에 해당하는 문제들은 1330번, 9498번, 2753번, 14681번, 2884번이다.
짚고 넘어가야 할 문제가 있다면 2753번이었다. 솔직히 문제 자체의 난이도는 어렵지 않아도 문제에 대한 이해도가 부족해서 힘들었다.
윤년을 구하라는 문제였는데, 이 윤년의 조건에 대해서 이해가 안되어서 애를 먹었다.
내가 이해력이 부족한 탓에 문제를 이해 못했지만 나처럼 힘들어 할 수도 있는 다른 사람들을 위해서 문제를 자세히 풀어보자면,
이처럼 풀어서 정리해도, 조건도 까다롭고 복잡하고 어지러워서 헷갈려했다. 코드로 보자면
#include <iostream>
using namespace std;
int main()
{
int key;
cin >> key;
if(key%4==0)
{
if(key%100==0)
{
if(key%400==0)
cout << 1 << endl;
else
cout << 0 << endl;
}
else
cout << 1 << endl;
}
else
cout << 0 << endl;
return 0;
}
더 간단하게 짜는 방법도 있겠지만, 조건 하나하나마다 이해하기에는 위 코드가 가장 나을 것 같다.