반응형

programmers.co.kr/learn/courses/30/lessons/12901?language=java

 

코딩테스트 연습 - 2016년

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까

programmers.co.kr

코드

프로그래머스 2016년

public String solution(int a, int b) {
        String answer = "";

        //a월 전달 까지 몇일 있는지 세어놓고 b를 더해준다
        int before = 0;

        switch (a){
            case 1: before = 0; break;
            case 2: before = 31; break;
            case 3: before = 31 + 29; break;
            case 4: before = 31 + 29 + 31; break;
            case 5: before = 31 + 29 + 31 + 30; break;
            case 6: before = 31 + 29 + 31 + 30 + 31; break;
            case 7: before = 31 + 29 + 31 + 30 + 31 + 30 ; break;
            case 8: before = 31 + 29 + 31 + 30 + 31 + 30 + 31; break;
            case 9: before = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31; break;
            case 10: before = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30; break;
            case 11: before = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31; break;
            case 12: before = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30; break;
        }

        before += b - 1;    //올해의 몇번째 날인지 알 수 있음
        // ex) 1월3일 입력시 before = 3 인 상태 (올해 3번째 날)
        //올해의 첫번째 날은 금요일

        int day = before % 7;

        String[] days = new String[]{"FRI","SAT","SUN","MON","TUE","WED","THU"};

       answer = days[day];

        return answer;
    }//method

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기