<C++ 코드>
#include <iostream>
#include <string>
using namespace std;
int month, day;
string d[7] = { "SUN","MON", "TUE", "WED", "THU", "FRI", "SAT" };
void init() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
}
int search(int i, int max) {
int temp;
for (int j= 1; j <= max; j++) {
temp = j;
if (i == month && j == day) {
break;
}
}
return temp;
}
int main() {
//Default : 2007 1 1 는 MON
init();
cin >> month >> day;
int sum = 0;
for (int i = 1; i <= month; i++) {
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)
sum += search(i, 31);
else if (i == 2)
sum += search(i, 28);
else
sum += search(i, 30);
}
cout << d[(sum%7)];
}
2007 1 1 MON을 기준으로 입력 받은 날까지 센 후 7로 나눈 나머지에 해당하는 d배열의 값을 참조한다.
1 3 5 7 8 10 12 월은 31일까지, 2월은 28일까지, 4 6 9 11 월은 30일 까지로 해서 각 월에 따른 일 수로 세어준다.
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 백준 4179번 불! (0) | 2020.03.16 |
---|