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 = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
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. 주배열로부터 요일을 찾아 반환한다.
'코딩테스트 연습' 카테고리의 다른 글
코딩테스트 - 같은 숫자는 싫어! (0) | 2020.01.07 |
---|---|
코딩테스트 - 가운데 문자열 가져오기 (0) | 2020.01.07 |
코딩테스트 - K 번째 수 (0) | 2020.01.06 |
코딩테스트 - 모의고사 (0) | 2020.01.03 |
코딩테스트 - 완주하지 못한 선수 (0) | 2020.01.03 |