알고리즘 공부/C++

백준 2948번 2009년 C++

마달랭 2024. 7. 20. 23:37
반응형

리뷰

 

 

문제 풀이

  1. 각 월의 일 수를 나타낼 정수형 벡터를 초기화 해준다.
  2. 각 요일을 나타낼 문자열 벡터를 초기화 해준다.
  3. sum 변수를 0으로 초기화 해주고, 이전 월들의 일 수를 더해준 후 현재 월의 일 수를 더해준다.
  4. 요일 벡터에 sum을 7로 나눈 나머지의 인덱스의 문자열을 출력해 주면 된다.

 

참고 사항

  1. 2009년의 1월 1일은 목요일 이므로 0번 인덱스는 수요일로 설정해 준다.
  2. 2009년은 윤년이 아니므로 2월은 28일로 나타내 주면 된다.

 

정답 코드

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main() {
	int d, m;
	cin >> d >> m;
	vector<int> months = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
	vector<string> day = { "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday", "Tuesday"};
	int sum = 0;
	while (--m) {
		sum += months[m - 1];
	}
	sum += d;
	cout << day[sum % 7];
}

 

 

728x90
반응형

'알고리즘 공부 > C++' 카테고리의 다른 글

백준 10820번 문자열 분석 C++  (1) 2024.07.21
백준 11656번 접미사 배열 C++  (0) 2024.07.20
백준 11655번 ROT13 C++  (0) 2024.07.20
백준 11170번 0의 개수 C++  (1) 2024.07.20
백준 5218번 알파벳 거리 C++  (0) 2024.07.20