입출력 예
a b result
5 | 24 | TUE |
코드:
public class Solution {
public String solution(int a, int b) {
String answer = "";
String day[] = new String[] {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
int TotalDate = 0;
int DaysOfMonth = 0;
for(int i=1; i<a; i++) {
if(i == 4 || i == 6 || i == 9 || i == 11) {
DaysOfMonth = 30;
} else if(i == 2) {
DaysOfMonth = 29;
} else {
DaysOfMonth = 31;
}
TotalDate += DaysOfMonth; //a월 전까지의 달들의 일수 계산 (예. a=5 / TotalDate += 31+29+31+30)
}
TotalDate += b; // a월 전까지의 달들의 일수 + 해당 일 = 흘러간 날짜 구하기 (D-day 개념)
switch(TotalDate % 7) { //나머지 값으로 요일 구하기. 1월 1일(시작)이 금요일. day[5]
case 0:
answer = day[4];
break;
case 1:
answer = day[5];
break;
case 2:
answer = day[6];
break;
case 3:
answer = day[0];
break;
case 4:
answer = day[1];
break;
case 5:
answer = day[2];
break;
case 6:
answer = day[3];
}
return answer;
}
}
접근방법:
'Backend > Algorithm' 카테고리의 다른 글
7. charAt, substring - 가운데 글자 가져오기 (0) | 2020.10.29 |
---|---|
6. Math.max , ArrayList - 모의고사 (0) | 2020.10.29 |
4. 배열, sort - 완주하지 못한 선수 (0) | 2020.10.28 |
3. 최대공약수와 최소공배수 (Java) (0) | 2020.10.20 |
2. SQL 최소값 구하기 (0) | 2020.10.20 |