본문 바로가기
Problem Solving/Baekjoon

[백준] 백준 1924번 2007년 (C++)

by taehyundev 2020. 3. 8.

<C++ 코드>

#include <iostream>
#include <string>
using namespace std;

int month, day;
string d[7] = { "SUN","MON", "TUE", "WED", "THU", "FRI", "SAT" };
void init() {
    ios::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
}
int search(int i, int max) {
    int temp;
    for (int j= 1; j <= max; j++) {
        temp = j;
        if (i == month && j == day) {
            break;
        }
    }
    return temp;
}
int main() {
    //Default : 2007 1 1 는 MON
    init();

    cin >> month >> day;

    int sum = 0;

    for (int i = 1; i <= month; i++) {

        if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)
            sum += search(i, 31);
        else if (i == 2)
            sum += search(i, 28);
        else
            sum += search(i, 30);
    }
    cout << d[(sum%7)];
}

2007 1 1 MON을 기준으로 입력 받은 날까지 센 후 7로 나눈 나머지에 해당하는 d배열의 값을 참조한다.

 

1 3 5 7 8 10 12 월은 31일까지, 2월은 28일까지, 4 6 9 11 월은 30일 까지로 해서 각 월에 따른 일 수로 세어준다.

 

'Problem Solving > Baekjoon' 카테고리의 다른 글

[백준] 백준 4179번 불!  (0) 2020.03.16