~cpp #include <iostream> using namespace std; int main() { int year,month; cin >> year >> month; // int i,j,a; int arr[6][7]={{'0',},}; int ThirtyOne=0; for (i=1; i<month; i++) // ThirtyOne : month 31 갯 if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) ThirtyOne++; if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) a = 31; else if (month == 4 || month == 6 || month == 9 || month == 11) a = 30; else a = 0; // a : 까 . int two = year / 4 - year / 100 + year / 400; // year 갯 int XOR; if (month > 2) // { if (year % 4 == 0) { if (year % 100 == 0) { if (year % 400 == 0) { XOR = +1; if (a==0) a = 29; } else { XOR = +2; if (a==0) a = 28; } } } else { XOR = +2; if (a==0) a = 28; } } // first // 1 1 int day = (((year-1) * 365 + two) + ((month-1) * 30 + ThirtyOne - XOR)) % 7; int first = day + 1; if (first == 7) first = 0; int y = 1; // .. 1-28,29,30,31 i=0; int first_ = first; for (first; first<7; first++) // 값 { arr[i][first] =y; y++; } for (i=1; i<6; i++) // 값 { for (j=0; j<7; j++) //first 1+ 기 7 .. { arr[i][j] = y; y++; } } cout << "\t\t\t\t\t금\t" << endl; cout << "-----------------------------------------------------" << endl; i=0; for(int h=0; h<first_; h++) cout << "\t"; for (first_; first_<7; first_++) // 값 { cout << arr[i][first_] << "\t"; } cout << "\n"; for (i=1; i<6; i++) // 값 { for (j=0; j<7; j++) //first 1+ 기 7 .. { if (arr[i][j] > a) { cout << "\n"; return 0; } cout << arr[i][j] << "\t"; } cout << "\n"; } return 0; }