μ΅œλŒ€ 1 λΆ„ μ†Œμš”

πŸ“ [Lv1_12901] 2016λ…„

class Solution {
    public String solution(int a, int b) {
        String answer = "";
        
        // μš”μΌ 수 μ €μž₯
        int[] days = {31,29,31,30,31,30,31,31,30,31,30,31};
        // μš”μΌ λͺ… μ €μž₯
        String[] day_array = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"};
        
        // μ›” 차이
        int month = a - 1;
        
        // 일 차이
        int day = b - 1;
        
        // a월을 μ œμ™Έν•œ μ›”μ˜ 일 수 λ”ν•˜κΈ°
        int sum = 0;
        
        for(int i=0; i<month; i++){
            sum += days[i];
        }
        
        // aμ›”μ˜ 일 수 λ”ν•˜κΈ°
        sum += day;
        
        // μš”μΌ λͺ… κ΅¬ν•˜κΈ°
        sum %= 7;
        
        answer = day_array[sum];

        return answer;
    }
}

πŸ€” λ‚˜μ˜ 생각

μ»΄ν“¨νŒ… 사고 κ³΅λΆ€ν•˜λ©΄μ„œ λ‚ μ§œ κ΅¬ν•˜λŠ” 것을 κ³΅λΆ€ν•΄μ„œ μ‰½κ²Œ κ΅¬ν–ˆλ‹€.
κ²°κ΅­ key pointλŠ” modλ₯Ό μ‚¬μš©ν•˜λŠ” 것이닀.
μ›”μ˜ μΌμˆ˜μ™€ μš”μΌμ˜ 이름을 배열에 μ €μž₯ν•˜κ³  1μ›”1일과 ν˜„μž¬ μ›”,일을 λΉΌμ„œ 총 일수λ₯Ό κ΅¬ν•œ λ’€ mod 7 을 ν•΄μ€€λ‹€.
κ·Έ 값을 톡해 μš”μΌμ˜ 이름 배열에 μ ‘κ·Όν•΄μ„œ 값을 ꡬ해낸닀.
라이브러리λ₯Ό ν•˜λ‚˜λ„ μ‚¬μš©ν•˜μ§€ μ•Šκ³ λ„ κ°„λ‹¨νžˆ ν’€λ¦°λ‹€.