CS(Computer Science)지식/[C++][코딩 테스트] 자료구조 및 알고리즘
백준 1924번: 2007년 (C++)
엔지니어 청년
2024. 1. 31. 22:20
https://www.acmicpc.net/problem/1924
해당 문제를 가장 쉽게 접근하는 방법은 2007년 1월 1일부터 몇 일이 지났는지 계산하고 월, 화, 수, 목, 금, 토, 일 이 주기적으로 반복되는 원리를 이용하여 특정 날짜의 요일을 찾을 수 있다 코드는 아래와 같다.
#include <bits/stdc++.h>
using namespace std;
int arr[13] = {0, 31, 28 ,31 , 30, 31, 30, 31,31,30,31,30,31 };
int main()
{
int sumDay=0;
int x,y;
cin >> x >> y;
for(int i=1 ; i<=x; i++)
{
if(i==x)
{
sumDay+= y;
}
else
{
sumDay+=arr[i];
}
}
int sel = sumDay % 7;
//cout << sumDay << '\n';
switch(sel)
{
case 1 :
cout << "MON" << '\n';
break;
case 2:
cout << "TUE" << '\n';
break;
case 3:
cout << "WED" << '\n';
break;
case 4:
cout << "THU" << '\n';
break;
case 5:
cout << "FRI" << '\n';
break;
case 6:
cout << "SAT" << '\n';
break;
case 0:
cout << "SUN" << '\n';
break;
}
}