본문 바로가기

알고리즘/백준

백준1924-2007년(브론즈1)

반응형

문제출처 : https://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

문제풀이) 날짜 까지의 모든 일자를 구한 후 7로 나누어서 나머지를 가지고 확인한다.

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int m,d,sum=0,week;
    cin >> m >> d;
    for(int i=0;i < m;i++) sum += month[i]; //전월까지의 시간을 계산 한다.

    sum += d; //오늘 날짜가지의 기간을 구한다.

    week = sum % 7;
    switch(week)
    {
    case 1 :
        printf("MON");
        break;
    case 2 :
        printf("TUE");
        break;
    case 3 :
        printf("WED");
        break;
    case 4 :
        printf("THU");
        break;
    case 5 :
        printf("FRI");
        break;
    case 6 :
        printf("SAT");
        break;
    case 0 :
        printf("SUN");
        break;

    }

    return 0;
}
반응형