LocalDate date = LocalDate.of(2016, a, b);
날짜를 나타내는 클래스인 LocalDate를 사용
LocalDate()
는 LocalDate(년,월,일)
즉, LocalDate(2016(년), a(월), b(일))
DayOfWeek dayOfWeek = date.getDayOfWeek();
int dayOfWeekNumber = dayOfWeek.getValue();
switch(dayOfWeekNumber){
case 1 :
answer = "MON";
break;
case 2 :
answer = "TUE";
break;
case 3 :
answer = "WED";
break;
case 4 :
answer = "THU";
break;
case 5 :
answer = "FRI";
break;
case 6:
answer = "SAT";
break;
case 7 :
answer = "SUN";
}
import java.time.DayOfWeek; import java.time.LocalDate; class Solution { public String solution(int a, int b) { String answer = ""; LocalDate date = LocalDate.of(2016, a, b); DayOfWeek dayOfWeek = date.getDayOfWeek(); int dayOfWeekNumber = dayOfWeek.getValue(); switch(dayOfWeekNumber){ case 1 : answer = "MON"; break; case 2 : answer = "TUE"; break; case 3 : answer = "WED"; break; case 4 : answer = "THU"; break; case 5 : answer = "FRI"; break; case 6: answer = "SAT"; break; case 7 : answer = "SUN"; } return answer; } }
class Solution { public String solution(int a, int b) { String answer = ""; int[] c = {31,29,31,30,31,30,31,31,30,31,30,31}; String[] MM ={"FRI","SAT","SUN","MON","TUE","WED","THU"}; int Adate = 0; // 2016년의 몇번째날인가? // Adate를 구하기 위한 부분 for(int i = 0 ; i< a-1; i++){ Adate += c[i]; } Adate += b-1; // 나누기 7을 했을 때 나머지로 요일 찾기 answer = MM[Adate %7]; return answer; } }
1월 1일이 금요일이라고 했으니까 문자 배열 String[]
MM를 금요일부터 시작
int[]
c는 1월 31일 2월 29일 3월 31일 식으로 31, 29, 31 ....로 배열에 넣어줌
for문으로 돌리고 a-1 이전까지 i를 가져옴
a-1을 하는 이유
Adate를 가져오고 나서 b(일수에 해당하는 것) 가져오는데 이때도 -1을 해줌
모든 더한 최종 값을 7로 나누고 나머지 day 번째가 요일