Algorithm/프로그래머스

[Lv. 1] 2016년

녱녱 2023. 10. 2.

class Solution {
    public String solution(int a, int b) {
        String answer = "";
        String[] day = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"};
        int[] date = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
        int select = 0;
        for(int i = 0; i < a-1; i++){
            select += date[i];
        }
        select += b-1;
        
        answer = day[select % 7];
        
        return answer;
    }
}

1. 요일을 나타내는 문자열 배열 day 생성 (시작일이 금요일이라고 명시되었기 떄문에 금요일부터 시작)

2. 각 월의 일 수를 나타내는 문자열 배열 date 생성

3. 날짜를 계산하기 위한 변수 select 초기화

4. 입력받은 월(a)의 이전 월까지의 일수를 계산하기 위한 반복문. 위에서 선언한 select에 이전 월까지의 총 일수를 더해줌

5. 입력받은 일(b)을 더해줌. 배열 인덱스가 1부터 시작하기 때문에 1을 빼줌

6. select % 7을 이용해 요일을 결정하고 해당 요일을 answer에 저장

-> 0이라면 금요일, 1이라면 토요일, 2라면 일요일 ---

댓글