본문 바로가기
Study (etc)/Problem Solving

[BOJ / C] 1924번 : 2007년

by Haren 2019. 5. 12.

<백준 온라인 저지 : 1924번>

- 2007년 -






문제설명









이 문제를 풀며


- 1월 1일이 월요일이라는 것을 기준으로, 입력한 날짜만큼 일수를 더해 그 일수를 7로 나눈 나머지를 이용하여 요일을 판별하자. 각 달의 일수는 배열로 따로 저장해주었다.

- x달 만큼 y에 일수를 더해줄 for문을 사용하였다.

- y를 7로 나눈 나머지로 요일을 판별해줄 switch ~ case 문을 이용하였다. 요일을 포인터 배열을 이용하여 푸신 분의 예제도 본 적 있지만, 포인터 개념에 대한 이해가 부족한 관계로 간단한 switch ~ case 문으로 분기하였다.






내 소스



#include <stdio.h>

int main()
{
    int x, y;
    int month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    
    scanf("%d %d",&x,&y);
    
    for(int i=0; I<x-1; i++){
        y+=month[i];}
    
    switch (y % 7)
    {
        case 0:
            printf("SUN\n");
            break;
        case 1:
            printf("MON\n");
            break;
        case 2:
            printf("TUE\n");
            break;
        case 3:
            printf("WED\n");
            break;
        case 4:
            printf("THU\n");
            break;
        case 5:
            printf("FRI\n");
            break;
        case 6:
            printf("SAT\n");
            break;
    }
    
    return 0;
}






채점 결과