2948번 : 2009년
문제 )
2009년 날짜가 주어졌을 때, 무슨 요일인지 출력하는 프로그램을 작성하시오.
입력 :
첫째 줄에 D와 M이 주어진다. M월 D일이다.
출력 :
2009년 M월 D일의 요일을 영어로 출력한다. 출력은 다음 중 하나이다. "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday".
풀이)
예제 입력 3의 (25 9)가 당연히 내년을 의미하는 줄 알았는데
자꾸 틀려서 확인해보니 그냥 월 일이 반대로 주어진 것이었다.
풀이는 다음 문제와 같고 case만 바꿔주면 된다.
2023.02.02 - [Develop/백준 (Cpp)] - [백준] 1924번 : 2007년 (C++)
[백준] 1924번 : 2007년 (C++)
1924번 : 2007년 문제 ) 오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오. 입력 : 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1
tarra.tistory.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#include <iostream>
using namespace std;
// 1 ~ 12월의 일 수
int month[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
// x월 y일까지 며칠 남았는지 계산
int day_cal(int a, int b) {
int n = 0;
for (int i = 1; i < a; i++) {
n += month[i];
}
n += b;
return n;
}
int main()
{
int a, b;
cin >> b >> a;
int days = day_cal(a, b);
// 며칠 남았는지를 7로 나누어 요일을 계산한다.
switch (days % 7) {
case 1:
cout << "Thursday";
break;
case 2:
cout << "Friday";
break;
case 3:
cout << "Saturday";
break;
case 4:
cout << "Sunday";
break;
case 5:
cout << "Monday";
break;
case 6:
cout << "Tuesday";
break;
case 0:
cout << "Wednesday";
break;
}
return 0;
}
|
cs |
출처 : https://www.acmicpc.net/problem/2948
2948번: 2009년
2009년 M월 D일의 요일을 영어로 출력한다. 출력은 다음 중 하나이다. "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday".
www.acmicpc.net
'Develop > 백준 (Cpp)' 카테고리의 다른 글
[백준] 10845번 : 큐 (C++) (0) | 2023.02.03 |
---|---|
[백준] 10992번 : 별 찍기 - 17 (C++) (0) | 2023.02.02 |
[백준] 1924번 : 2007년 (C++) (0) | 2023.02.02 |
[백준] 11651번 : 좌표 정렬하기 2 (C++) (0) | 2023.02.02 |
[백준] 11650번 : 좌표 정렬하기 (C++) (2) | 2023.02.02 |