본문 바로가기

Backend/Algorithm

5. switch - 2016년

 

 

입출력 예

  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;
    }
}

 

 

 

접근방법: