https://school.programmers.co.kr/learn/courses/30/lessons/12901
day 배열과 month 배열을 미리 만들어 둔 뒤 a와 b에 맞춰서 일수를 계산하고 7로 나눈 나머지를 기반으로 day를 출력한다. ( 윤년이라 2월이 29일이다. )
#include <string>
#include <vector>
#include <iostream>
using namespace std;
string solution(int a, int b) {
string answer = "";
vector<string> day = {"FRI","SAT","SUN","MON","TUE","WED","THU"};
int month[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
int sum = 0;
if(a > 1)
{
for(int i = 0; i < a - 1; i++)
{
sum += month[i];
}
}
sum += (b - 1);
sum %= 7;
answer = day[sum];
return answer;
}
#include<iostream>
#include<string>
using namespace std;
string getDayName(int a,int b)
{
int month[12] = {0,31,29,31,30,31,30,31,31,30,31,30};
string date[7] = {"SUN","MON","TUE","WED","THU","FRI","SAT"};
for(int i = 0; i < a; i++)
{
b += month[i];
}
string answer= date[(b+4)%7];
return answer;
}
나는 1월 1일의 요일에 맞춰서 date 배열을 금요일부터 시작하게 했지만 보통 일요일부터 시작하므로 +4를 하였다.