개발자/문제풀이 (C언어)
[백준/BOJ] 1924번 2007년 (C/C++)
devBB
2018. 8. 29. 22:31
728x90
반응형
백준 온라인 저지(BOJ) 1924번 2007년
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
* 사용언어 : C언어, C++
1. 문제
2007년 x월 y일은 어떤 요일인지 출력
(월요일 MON, 화요일 TUE, ... 일요일 SUN)
2. 풀이
배열을 활용하여 월 별 일수와 요일을 선언해둡니다.
그리고 1월부터 x - 1 월까지 모든 월의 일수를 y에 더하여 총 일수를 구합니다.
1월 1일이 월요일이므로 총 일수를 7로 나눈 나머지가 요일이 됩니다.
마찬가지로 선언해둔 char* 배열을 사용하여 출력해줍니다.
3. 코드
#include <stdio.h>
int daysOfMonth[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
char *dayOfWeek[7] { "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" };
int main() {
int month, day;
scanf("%d %d", &month, &day);
for (int i = 1; i < month; ++i) {
day += daysOfMonth[i];
}
printf("%s\n", dayOfWeek[day % 7]);
return 0;
}
728x90
반응형