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;
}
}
'CS(Computer Science)지식 > [C++][코딩 테스트] 자료구조 및 알고리즘' 카테고리의 다른 글
백준 1715번: 카드 정렬하기 (C++) (3) | 2024.01.31 |
---|---|
백준 2948번: 2009년 (C++) (1) | 2024.01.31 |
백준 11286번: 절댓값 힙 (C++) (0) | 2024.01.31 |
백준 11718번: 그대로 출력하기 (C++) (0) | 2024.01.31 |
백준 23326번: 홍익 투어리스트 (C++) (0) | 2024.01.31 |