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
(21.08.04)
1924번: 2007년 - C언어 풀이
[문제]
오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.
[입력]
첫째 줄에 빈 칸을 사이에 두고 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
|
[출력]
첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다.
MON
|
WED
|
SUN
|
TUE
|
[소스코드]
#include <stdio.h>
// [baekjoon] 1924번 - 2007년
int main() {
int a, b;
scanf("%d %d", &a, &b);
int d = 0;
switch (a) {
case 12:
d += 30;
case 11:
d += 31;
case 10:
d += 30;
case 9:
d += 31;
case 8:
d += 31;
case 7:
d += 30;
case 6:
d += 31;
case 5:
d += 30;
case 4:
d += 31;
case 3:
d += 28;
case 2:
d += 31;
case 1:
break;
}
d += b;
d %= 7;
switch (d) {
case 0:
printf("SUN");
break;
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 문을 이용하여 무식하게 해결.
더 효율적으로 풀이할 수 있는지 공부해 봐야겠다.
'학습 정리 > 👨💻 PS Study' 카테고리의 다른 글
[C] 백준 11557번 - Yangjojang of The Year (0) | 2022.07.06 |
---|---|
[C] 백준 21866번 - 추첨을 통해 커피를 받자 (0) | 2022.07.06 |
[C] 백준 1065번 - 한수 (0) | 2022.06.22 |
[C] 백준 8958번 - OX퀴즈 (0) | 2022.06.22 |
[C] 백준 4673번 - 셀프 넘버 (0) | 2022.06.22 |