[C++로 풀이] 2016년 ⭐

Date:     Updated:

카테고리:

태그:

2016년

난이도 ⭐

문제

image


풀이

#include <string>
#include <vector>

using namespace std;

string solution(int a, int b) {
    string answer = "";
    int sum = 0;
    int month [] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    string day [] = { "FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU" };
    
    for(int i = 0; i < a - 1; i++)
        sum += month[i];
    sum += b - 1;
    
    answer = day[sum % 7];
    
    return answer;
}

1 월 1 일은 금요일이기 때문에 요일을 담은 배열인 day의 첫번째 원소를 "FRI" 부터 시작하도록 하였다. a 월 b 일 이라면 (a월 - 1월)만큼의 즉, 사이에 있는 달의 일수들을 전부 더하고 (b일 - 1일)을 더해주면 된다. 그리고 이를 7로 나눈 나머지가 day의 인덱스로 하면 된다.



🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

Programmers 카테고리 내 다른 글 보러가기

댓글 남기기