본문 바로가기

개발

[알고리즘 문제] 2016년 (특정일 요일 구하기)


http://tryhelloworld.co.kr/challenge_codes/176




( 문제 ) Level2


2016년 1월 1일은 금요일입니다. 2016년 A월 B일은 무슨 요일일까요? 두 수 A,B를 입력받아 A월 B일이 무슨 요일인지 출력하는 getDayName 함수를 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각

SUN,MON,TUE,WED,THU,FRI,SAT

를 출력해주면 됩니다. 예를 들어 A=5, B=24가 입력된다면 5월 24일은 화요일이므로 TUE를 반환하면 됩니다.




( 구현 - 자바 )


TryHelloWorld.java


class TryHelloWorld

{

    public String getDayName(int a, int b)

    {

      // 금요일 부터 시작

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

      // 2016년 월별 일수

      int[] month = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

      // index

      int idx = 0;

     

      // idx. 입력 받은 월 이전달 까지의 합

      for(int i=0; i < a-1; i++){

        idx += month[i];

        }      

      // idx. 현재 달 일 수를 더함 (1월1일 하루는 뺀다)

      idx = (idx + b-1) % 7;

      

        String answer = week[idx];

        return answer;

    }

    public static void main(String[] args)

    {

        TryHelloWorld test = new TryHelloWorld();

        int a=5, b=24;

        System.out.println(test.getDayName(a,b));

    }

}




(  결과 출력 )


TUE


실행시간: 99ms








맨 위로