알고리즘/백준

[Java] 백준 1924 - 2007년

E@st 2022. 7. 6. 20:09
 

문제

풀이

배열에 미리 월 별 일수를 초기회해둔다. 그리고 1월부터 x - 1 월까지 모든 월의 일수를 더하고 입력받은 y 더해 총 일수를 구합니다. 1월 1일이 월요일이므로 총 일수를 7로 나눈 나머지로 요일을 출력해줍니다.

 

import java.io.*;
import java.util.StringTokenizer;

class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int month = Integer.parseInt(st.nextToken());
        int day = Integer.parseInt(st.nextToken());

        int[] daysInMonth = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        String[] dayOfTheWeeks = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};

        int totalDay = day;
        for (int i = 0; i < month - 1; ++i) {
            totalDay += daysInMonth[i];
        }

        System.out.println(dayOfTheWeeks[totalDay % 7]);
    }
}