[programmers] 2016년 (java) -1level

2022. 2. 26. 21:53Algorithm/Programmers

문제 설명

 

 

문제 해결

 

금요일부터 목요일까지 7일의 날짜를 나타내는 String 타입의 배열을 생성해주었다.

1월부터 12월까지의 일수를 int 타입의 배열에 넣어주고 윤년이니까 2월은 29일을 넣어주었다.

a의 앞 달까지 일수를 b 에다가 더해주고 7로 나눴을 때 남은 수를 String 배열의 인덱스로 놓아 답을 구해준다.

public class 이천십육년 {
    public String solution(int a, int b) {
        String[] str = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"};
        int[] arr = {31,29,31,30,31,30,31,31,30,31,30,31};

        for (int i = 1; i < a; i++){
            b += arr[i-1]; // 원래 일 수에다가 앞 달의 일수들을 모두 더한다.
        }
        // 2016년 1월 1일은 금요일부터 시작이다.
        return str[(b-1)%7];
    }
}
728x90