알고리즘 문제 연습
[프로그래머스,Java]2016년
codi-3
2024. 8. 26. 10:13
🔍문제
📊분석
- 2016년은 윤년 이므로 2월에 마지막날은 29일이다.
- 1부터 7월까지 홀수달은 31일 을 갖고 짝수달이 30 일을 갖게 된다.
- 8부터 12월까지는 짝수달이 31일 을 갖고 홀수달은 30일을 갖게 된다
✏️풀이
class Solution {
public String solution(int a, int b) {
String answer = "";
//요일 array
String[] day = {"FRI","SAT","SUN","MON","TUE","WED","THU"};
//1월 1일 부터의 차이를 구하기 떄문에 각 달, 일 -1
int month = a - 1;
int totalDay = b-1;
for(int i = 1; i <= month; i++){
//1~7월까지
if(i < 8){
//2월은 29일 이 마지막
if(i == 2){
totalDay += 29;
//홀수달은 31일이 마지막
}else if(i % 2!= 0){
totalDay += 31;
//짝수달은 30일이 마지막
}else{
totalDay += 30;}
//8~12월
}else{
//홀수달은 30일이 마지막
if(i % 2!= 0){
totalDay += 30;
//짝수달은 31일이 마지막
}else{
totalDay += 31;}
}
}
//전체요일 일주일중 몇번쨰인지 계산
int tmp = totalDay % 7;
//해당 번쨰 요일 계산
answer = day[tmp];
return answer;
}
}