알고리즘/백준

백준 1924 2007년

고구마와 감자 2022. 3. 2. 22:55

https://www.acmicpc.net/problem/1924

 

1924번: 2007년

첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.

www.acmicpc.net

 

시간 문제들은 전부 다 하나하나 풀어서 풀이하는 경우가 대부분인거 같다. 

역시 단순하게 월일을 일수로만 바꿔서 7일주기라는 점 때문에 나머지 연산을 해주면 쉽게 풀 수 있다. 

public class Boj1924_2007년 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        StringTokenizer st = new StringTokenizer(br.readLine());

        int x = Integer.parseInt(st.nextToken());
        int y = Integer.parseInt(st.nextToken());
        int[] months = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        int days = y;

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

        String[] answers = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};

        System.out.println(answers[days%7]);

    }
}