<문제>
<풀이>
<해설>
class Solution {
public String solution(int a, int b) {
int[] months = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // 2016년은 윤년이므로 2월은 29일
String[] days = { "FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU" };
int totalDay = 0;
// 월마다 일수 더해주기
for (int i = 1; i < a; i++) {
totalDay += months[i - 1]; // > totalDay = month[0]+[1]+[2]+[3] = 31+29+31+30 = 121
}
totalDay += b - 1; // 1월 1일부터 시작했으므로 -1 처리 // 24-1 = 23
return days[(totalDay) % 7]; // > totalDay = (121+23)%7 = 4 > 화요일
}
}
다른분보니 이런풀이도..!
import java.time.*;
class Solution {
public String solution(int a, int b) {
return LocalDate.of(2016, a, b).getDayOfWeek().toString().substring(0,3);
}
}
'[개발] 코딩 테스트_Java' 카테고리의 다른 글
제일 작은 수 제거하기_★☆ (0) | 2022.01.20 |
---|---|
서울에서 김서방 찾기_★☆ (0) | 2022.01.17 |
행렬의 덧셈_★ (0) | 2022.01.17 |
없는 숫자 더하기_★ (0) | 2022.01.15 |
직사각형 별찍기_☆ (0) | 2022.01.15 |