※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 25774번 문제인 Simplified Calander System이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/25774
문제에서 주어지는 두 날짜를 특정 날짜(아래 코드에서는 1년1월1일)부터 몇 번째 날인지로 각각 표현하면 두 날짜 사이의 일수를 편하게 계산할 수 있다.
7일 주기로 요일이 달라진다는 점을 이용해, 위에서 계산한 두 날짜 사이 일수를 이용하여 두 번째 날짜의 요일을 계산하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int D1, M1, Y1, N1, D2, M2, Y2; cin >> D1 >> M1 >> Y1 >> N1 >> D2 >> M2 >> Y2;
int d1 = D1 + (M1 - 1) * 30 + (Y1 - 1) * 360;
int d2 = D2 + (M2 - 1) * 30 + (Y2 - 1) * 360;
cout << (N1 + (d2 - d1) - 1) % 7 + 1;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25859 // C++] Sort by Frequency (0) | 2022.11.10 |
---|---|
[BOJ 25785 // C++] Easy-to-Pronounce Words (0) | 2022.11.10 |
[BOJ 25704 // C++] 출석 이벤트 (0) | 2022.11.10 |
[BOJ 25270 // C++] 99 Problems (0) | 2022.11.10 |
[BOJ 25850 // C++] A Game Called Mind (0) | 2022.11.10 |