2007 문제 풀기
2018, May 06
백준에 있는 2007 문제를 풀어보았다. 문제링크
2007년 1월 1일 부터 주어진 월 일까지의 날짜 차이를 구하고 무슨 요일인지 출력하면 된다.
void twoThousandSeven(int x, int y)
{
int beforeMon = x - 1;
int dayFromOnetoBeforeMon = 0;
for (int i = 1; i <= beforeMon; i++)
{
switch (i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
dayFromOnetoBeforeMon += 31;
break;
case 4:
case 6:
case 9:
case 11:
dayFromOnetoBeforeMon += 30;
break;
case 2:
dayFromOnetoBeforeMon += 28;
break;
}
}
int dayFromOnetoX = dayFromOnetoBeforeMon + y - 1;
int dateOfInt = dayFromOnetoX % 7;
const char* dateOfString = nullptr;
switch (dateOfInt)
{
case 0:
dateOfString = "MON";
break;
case 1:
dateOfString = "TUE";
break;
case 2:
dateOfString = "WED";
break;
case 3:
dateOfString = "THU";
break;
case 4:
dateOfString = "FRI";
break;
case 5:
dateOfString = "SAT";
break;
case 6:
dateOfString = "SUN";
break;
}
printf("%s", dateOfString);
}