[백준 알고리즘]/[C++]

1924번 2007년 / Baekjoon BOJ 백준 1924 C++ 코드, 해설, 풀이

말하는펭귄 2020. 9. 27. 21:12
728x90
반응형

 

이번 포스팅은 백준 1924번 2007년입니다.

아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.

www.acmicpc.net/problem/1924

 

1924번: 2007년

첫째 줄에 빈 칸을 사이에 두고 x(1≤x≤12)와 y(1≤y≤31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.

www.acmicpc.net

 

기본 알고리즘

1월 1일로부터 며칠이 지났는지 계산하여 그 값을 7로 나눈 나머지를 통해 요일을 계산한다.

 

1월 1일은 월요일, 2일은 화요일, 3일은 수요일... 이므로 

7로 나눈 나머지가 1이면 월요일, 2이면 화요일, 3이면 수요일... 0이면 일요일이다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
using namespace std;
 
int main() {
    int month, date;
    cin >> month >> date;
 
    int daysInMonth[12= { 31,28,31,30,31,30,31,31,30,31,30,31 };
    int totalDays = 0;
 
    totalDays += date;
    for (int i = 0; i < (month-1); i++) {
        totalDays += daysInMonth[i];
    }
 
    switch (totalDays % 7) {
    case 0:
        cout << "SUN";
        break;
    case 1:
        cout << "MON";
        break;
    case 2:
        cout << "TUE";
        break;
    case 3:
        cout << "WED";
        break;
    case 4:
        cout << "THU";
        break;
    case 5:
        cout << "FRI";
        break;
    case 6:
        cout << "SAT";
        break;
    }
 
}
cs

 

 

 

 

 

 

 

728x90
반응형