Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
관리 메뉴

으하하 공부일기

[SWEA] - 5515. 2016년 요일 맞추기 (D3) 본문

SWEA/D3

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

0으하하0 2022. 5. 12. 21:18

[문제]

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을 출력한다

문제 풀기

5515. 2016년 요일 맞추기

 


[풀이]

import java.util.Scanner;

class Solution {
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
				
		int t = sc.nextInt();

		int[] month = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
		
		for(int tc=1; tc<=t; tc++) {
			int m = sc.nextInt();
			int d = sc.nextInt();
			
			int day = 0;
			
			for(int i=0; i<m-1; i++) {
				day += month[i];
			}
			
			// 1월 1일이 금요일이기 때문에 +3 필요
			int week = (day+d+3) % 7;
			System.out.format("#%d %d\n", tc, week);
		}
	}
}