입력값 (a,b) 를 받았을 때, 2016년 a월 b일을 구하는 문제.
2016년은 윤년. (2월 29일까지 있다.!)
a월 b일을 일단위로 변환한 후, 7로 나눈 나머지를 가지고 요일을 구한다.
#include <string>
#include <vector>
using namespace std;
string solution(int a, int b) {
string answer = "";
vector<string> week = {"THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"};
int month_final_day[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int a_month = 0;
int b_day =0;
// 전달까지의 일 수 더하기
for(int i = 0; i < a-1; i++)
{
a_month += month_final_day[i];
}
b_day = a_month + b;
const int result = b_day%7;
answer = week.at(result);
return answer;
}
'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 두 정수 사이의 합 (0) | 2020.12.13 |
---|---|
[프로그래머스] 문자열 내 p와 y의 개수 (0) | 2020.12.12 |
[프로그래머스] 문자열 다루기 기본 (0) | 2020.12.12 |
[프로그래머스] k 번째 수 (0) | 2020.12.09 |
[프로그래머스] 가운데 글자 가져오기 (0) | 2020.12.09 |