본문 바로가기

알고리즘

프로그래머스 2016년 cpp

https://school.programmers.co.kr/learn/courses/30/lessons/12901

문제


윤년인 2016년의 주이진 날짜의 요일을 구하는 문제

 

입력


월 a, 일 b

 

출력


문자열 요일 출력

 

#include <string>
#include <vector>

using namespace std;

string solution(int a, int b) {
    string answer = "";
    string day[7] = {"FRI","SAT","SUN","MON","TUE","WED","THU"}; // 출력 할 요일 저장
    int months[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; // 윤년인 2016년의 월 각각의 마지막 날짜
    int sum = 0; // 몇일이 지났는지 저장
    for (int i=0;i<a-1;i++){ // 주어진 월전까지 월의 각각 마지막 날짜를 더함
        sum+=months[i];
    }
    sum+=b-1; // 일을 더해줘서 1월 1일 부터 몇일이 흘렀는지 저장
    answer = day[sum%7]; // 일주일 씩 요일이 반복되므로 7로 나눈 나머지의 날짜 후에 요일을 꺼낸다.
    return answer;
}