algorithm

[C++] 백준 알고리즘 1924번 (2007년)

Dev:P 2019. 1. 20. 12:08
반응형

문제

 

 


이번에 다뤄볼 문제는 1924번 문제 '2007년'입니다.

 

주어진 내용을 보면

2월은 28일까지

4,6,9,11은 30일까지

나머지는 31일까지 존재한다는 정보를 알아낼 수 있습니다.

 

따라서 입력으로 들어오는 목표날짜까지의 일수를 먼저 구한다음 이를 7로 나누어보면 답을 알 수 있습니다.

0이라면 일요일 ~ 6이라면 토요일이 됩니다.

 

 

아래 해답 코드를 보면 더 쉽게 이해할 수 있으실 겁니다.


 

코드(C++)

#include<iostream>
using namespace std;

int main() {
    int m, d;
    int answer;
    int count=0;
 
    cin >> m >> d;
 
    m -= 1;
 
    for (m; m >= 1; m--) {
        if (m == 2) {
            count += 28;
        }
        else if (m == 4 || m == 6 || m == 9 || m == 11) {
            count += 30;
        }
        else {
            count += 31;
        }
    }
 
    count += d;
 
    answer = count % 7;
 
	if (answer == 0) cout<<"SUN";
	else if (answer == 1) cout << "MON";
	else if (answer == 2) cout << "TUE";
	else if (answer == 3) cout << "WED";
	else if (answer == 4) cout << "THU";
	else if (answer == 5) cout << "FRI";
	else if (answer == 6) cout << "SAT";

	return 0;
}
반응형