[알고리즘] 2007년 - 백준 1924

se.jeon·2023년 2월 24일
0

알고리즘

목록 보기
9/21

문제

과정

처음에는 조건을 주어 가며 하려고 했는데, 생각 해 보니 굳이 그러지 않아도 되었다.

어차피 더하려고 하는 것이니, 배열에 미리 값을 담아 넣고 반복하며 더해주었다.

굉장히 간단한 로직이다.

1월 1일이 월요일이므로 0으로 시작하기 편하게 해 주기 위해 일요일부터로 계산 해 주었다.

결과

//
// Created by 전시은 on 2023/02/24.
//
// 문제 :: 2007년
// 링크 :: https://www.acmicpc.net/problem/1924
// 입력 :: 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.
// 출력 :: 첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다.

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

int main()
{
    cin.tie(NULL);
    ios_base::sync_with_stdio(false);

    string day[7] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
    int month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int x, y, result = 0;
    cin >> x >> y;

    for(int i = 0; i < x-1; i++)
    {
        result += month[i];
    }

    cout << day[(result + y) % 7];

    return 0;
}
profile
취미 다이소

0개의 댓글