SWEA(SWExpertacAdemy)

[SWEA] 5515. 2016년 요일 맞추기 D3 (자바)

심층코드 2025. 5. 19. 05:46

5515. 2016년 요일 맞추기 D3


[문제]

2016년 1월 1일은 금요일이었고, 문득 송송이는 특정 날짜의 요일을 맞추고 싶어졌다. 

2016년은 윤년이기 때문에 2월 29일이 포함된다. 2016년 m월 d일은 무슨 요일인지 맞추는 프로그램을 작성하시오.


[입력]

첫 번째 줄에 테스트 케이스의 수 T가 주어진다.

각 테스트 케이스의 첫 번째 줄에는 두 정수 m,d가 공백으로 구분되어 주어진다.

m,d는 2016년 m월 d일을 정상적으로 나타낼 수 있는 두 정수이다.

[출력]

각 테스트 케이스마다 2016년 m월 d일이 월요일이면 0, 화요일이면 1, 수요일이면 2, 목요일이면 3, 금요일이면 4, 토요일이면 5, 일요일이면 6을 출력한다.
 

입력
2
1 1
12 31
//T
//첫번째 tc
//두번째 tc
 
출력
#1 4
#2 5
//첫번째 tc의 답
//두번째 tc의 답

[코드]

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


public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(br.readLine());
        for (int i = 1; i <= T; i++) {
        	StringTokenizer st = new StringTokenizer(br.readLine());
        	int A[]= {0,31,29,31,30,31,30,31,31,30,31,30,31};
        	
        	int m = Integer.parseInt(st.nextToken());
        	int m_day=0;
        	for (int i2 = 0; i2 < m; i2++) {
				m_day+=A[i2];
			}
        	int d = Integer.parseInt(st.nextToken());
        	int total_day=m_day+d+3;
        	int result=total_day%7;
        	System.out.println("#"+i+" "+result);
        }
        br.close();
	}
}