알고리즘

[백준 1924번] 2007년

실버dev 2018. 9. 25. 23:50



#include <iostream>
#include <map>
#include <string>
using namespace std;

int main() {
	map<int, int> m;
	m[1] = m[3] = m[5] = m[7] = m[8] = m[10] = m[12] = 31;
	m[4] = m[6] = m[9] = m[11] = 30;
	m[2] = 28;
	char arr[10][10] = { "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" };
	int a, b, sum = 0;
	scanf("%d%d", &a, &b);

	map<int, int>::iterator iter;
	for (iter = m.begin(); iter != m.end(); iter++) {
		if (a <= (*iter).first) {
			break;
		}
		sum += (*iter).second;
	}
	sum += b;
	printf("%s", arr[sum % 7]);
	return 0;
}




달수를 일수로 변환시켜 일수의 총 합을 구하고 7로 나눈후 나머지에 따라 요일을 출력함.


파이썬 딕셔너리처럼 키-값 해쉬테이블을 쓰려고 맵 stl을 사용했는데 초기화하는게 별로 깔끔해보이지가 않은거 같다.