1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <string>
#include <vector>
 
using namespace std;
 
string solution(int a, int b) {
 
    vector<int> vecMonth;
    vecMonth = {312931303130313130313031};
 
    vector<string> vecWeek;
    vecDay = { "FRI""SAT""SUN""MON""TUE""WED""THU" };
 
    int iDay = -1;
    for(int i = 0 ; i < a ; i++)
    {
        if(i == a -1)
            iDay += b;
        else
            iDay += vecMonth[i];        
    }
 
    return vecWeek[iDay & 7];
}
 

의사코드

1. 배열로 월별 일수와 요일을 입력

2. 요일은 2016년이 금요일이므로 FRI부터 시작

3. 입력된 월의 수(a)만큼 더하고 for문의 마지막은 (b)일을 더한다.

4. 배열은 0부터 시작하므로 Day를 모두 더한 Sum값은 -1부터 시작한다.

5. 주배열로부터 요일을 찾아 반환한다.

+ Recent posts