2016년(java)

문제설명

생각하기

  1. 2016년은 윤년이다. 윤년 2월은 29일까지 있다.

내 풀이

class Solution {
    public String solution(int a, int b) {
        String answer = "";
        int days = b;
        
        if (a!=1){
            for(int i=1; i<a; i++){
                if(i ==2) days +=29;
                else if(i ==4 || i ==6 || i==9 ||i==11) days +=30;
                else days +=31;  
            }
        }
        
        if(days % 7 ==0) answer +="THU";
        else if(days % 7 ==1) answer +="FRI";
        else if(days % 7 ==2) answer +="SAT";
        else if(days % 7 ==3) answer +="SUN";
        else if(days % 7 ==4) answer +="MON";
        else if(days % 7 ==5) answer +="TUE";
        else if(days % 7 ==6) answer +="WED";
        
        return answer;
    }
}

days 변수에 날짜 b를 받는다.
if문으로 만약 원하는 날이 1월이 아니면 반복문을 실행.
1월이라면 패스한다. 반복문 안에서 윤년의 2월은 29일까지 있으므로 +29
4월 6월 9월 11월은 +30 나머지는 +31을 해준다.

2016년 1월1일이 금요일이므로 days % 7==1이면 금요일이다. 패턴을 파악해
나머지 0부터 6까지 작성해준다.

좋은 웹페이지 즐겨찾기