알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄
제목과 동일
Think🤔
1,3,5,7,8,10,12월 -> 31일
4,6,9,11 -> 30일
2 -> 28
int[] days = [31,28,31,30,31,30,31,31,30,31,30,31];
String[] weeks = ["MON","TUE","WED","THU","FRI","SAT","SUN"];
1월0일 부터가 아닌 1일부터 MON이여서 -1 빼고 시작
MON 0 1 2 3 4 5 6
1월1일 : 0 월 31
2월1일 : 3 목 28
3월1일 : 3 목 31
4월1일 : 6 일 30
5월1일 : 1 화
31 * 7 + 30 * 4 + 28 = 365
1,1 -> [ 월 ]
1,2 -> 화
1,3 -> 수
1,4 -> 목
1,5 -> 금
1,6 -> 토
1,7 -> 일
14
28 일 29월 30화 31수
2,1 -> [ 목 ]
2,2 -> 금
2,9 -> 금
2,16 -> 금
2,23 -> 금
2,24 -> 토
2,25 -> 일
2,26 -> 월
2,27 -> 화
2,28 -> 수
3,1 -> 목
3,8 -> 목
3,15 -> 목
3,22 -> 목
3,29 -> 목
4,1 -> [ 일 ]
4,8 -> 일
4,15 -> 일
4,22 -> 일
4,29 -> 일
5,1 -> [ 화 ]
Solution✍
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
StringTokenizer st = new StringTokenizer(input," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int[] days = {0,31,28,31,30,31,30,31,31,30,31,30,31};
String[] weeks = {"MON","TUE","WED","THU","FRI","SAT","SUN"};
int tot = 0;
for(int i=0; i<a; i++){
tot += days[i];
}
tot += b;
System.out.println(weeks[(tot-1)%7]);
}
}
Review🤩
바로 생각이 안나면 다 적어보면서 해결하면 됨.
'Algorithm' 카테고리의 다른 글
[백준] 브1 > 팰린드롬수 1259번 - JAVA (0) | 2024.10.22 |
---|---|
[백준] 브1 > 피보나치 수 2 2748번 - JAVA (2) | 2024.10.21 |
[백준] 브1 > 약수 1037번 - JAVA (1) | 2024.10.19 |
[백준] 브1 > 최소공배수 1934번 - JAVA (0) | 2024.10.19 |
[백준] 브1 > 이항 계수 1 11050번 - JAVA (0) | 2024.10.18 |