이 문제에서는 요일에 대한 배열을 만들고, 또 다른 하나는 달에 대한 일수 배열을 만든다.
다음 입력받는 월, 일에 대해 월 이전의 일 수와 입력받은 일을 더해 7로 나눈 값을 배열 index를 통해 찾는다.
여기서 말하는 월 이전의 일 수란 예를들어, 2월을 입력받았다면 1월의 일수를 더하는 것이다.
입력: 2월11일 => 31일 + 11일 => 42일 (1월의 일 수는 31일이다.)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] days = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
int[] months = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int month = Integer.parseInt(st.nextToken());
int day = Integer.parseInt(st.nextToken());
int result = day;
for(int i = 0; i < month - 1; i++) {
result += months[i];
}
System.out.println(days[result % 7]);
}
}
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] days = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
int[] months = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int month = Integer.parseInt(st.nextToken());
int day = Integer.parseInt(st.nextToken());
int result = day;
for(int i = 0; i < month - 1; i++) {
result += months[i];
}
System.out.println(days[result % 7]);