본문 바로가기

Algorithm/문제풀이

[백준] 1924번: 2007년

문제링크 https://www.acmicpc.net/problem/1924

 

문제풀이

2007년 1월 1일부터 시작해서, 입력받은 날까지의 총 일수를 계산한 후

7로 나눈 나머지가 0이면 일요일, 1이면 월요일... 6이면 토요일을 출력하였다.

 

소스코드

/*
 * 백준 1924번: 2007년
 */

#include <iostream>
#include <string>

using namespace std;

int main() {
	int x, y;
	cin >> x >> y;

	int month[13] = {0, };
	for (int i = 1; i < 13; i++) {
		switch (i) {
		case 2:
			month[i] = 28;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			month[i] = 30;
			break;
		default:
			month[i] = 31;
			break;
		}
	}

    // 총 일수 계산
	int day = 0;
	for (int i = 1; i < x; i++) {
		day += month[i];
	}
	
	day += y;
	
	string s_day = "";
	switch (day % 7) {
	case 0:
		s_day = "SUN";
		break;
	case 1:
		s_day = "MON";
		break;
	case 2:
		s_day = "TUE";
		break;
	case 3:
		s_day = "WED";
		break;
	case 4:
		s_day = "THU";
		break;
	case 5:
		s_day = "FRI";
		break;
	case 6:
		s_day = "SAT";
		break;
	}

	cout << s_day;

	return 0;
}