반응형

안녕하세요, 츄르 사려고 코딩하는 집사! 코집사입니다.

이번 글은 백준 알고리즘 1924번 2007년 C언어 문제입니다.



1. 문제

오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.



2. 입력

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

1 1
3 14
9 2
12 25



3. 출력

첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다.

MON
WED
SUN
TUE



4. 풀이

1) 이런 유형의 문제는 기준 날을 잡고, 기준 날부터의 합을 구해 7로 나눠 나머지 값을 가지고 구하면 된다.


5. 소스 코드

#include<stdio.h>

int main()

{

int x, y, sum = 0;

int A[12] = {31,28,31,30,31,30,31,31,30,31,30,31};

scanf("%d %d", &x, &y);

for(int i=1;i<x;i++)

{

sum += A[i-1];

}

sum += y;

switch(sum%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;

}


반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기