로운's 기술노트

2016년_★☆ 본문

항해99_'22.01~04/알고리즘_java

2016년_★☆

로운's 2022. 1. 17. 21:07

<문제>



<풀이>



<해설>

class Solution {
    public String solution(int a, int b) {
        int[] months = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };  // 2016년은 윤년이므로 2월은 29일
        String[] days = { "FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU" };
        int totalDay = 0;
        // 월마다 일수 더해주기
        for (int i = 1; i < a; i++) {
            totalDay += months[i - 1];    // > totalDay = month[0]+[1]+[2]+[3] = 31+29+31+30 = 121
        }
        totalDay += b - 1; // 1월 1일부터 시작했으므로 -1 처리      // 24-1 = 23
        return days[(totalDay) % 7];         // > totalDay = (121+23)%7 = 4 > 화요일
    }
}

 

다른분보니 이런풀이도..!

import java.time.*;
class Solution {
  public String solution(int a, int b) {
      return LocalDate.of(2016, a, b).getDayOfWeek().toString().substring(0,3);
  }
}

'항해99_'22.01~04 > 알고리즘_java' 카테고리의 다른 글

제일 작은 수 제거하기_★☆  (0) 2022.01.20
서울에서 김서방 찾기_★☆  (0) 2022.01.17
행렬의 덧셈_★  (0) 2022.01.17
없는 숫자 더하기_★  (0) 2022.01.15
직사각형 별찍기_☆  (0) 2022.01.15
Comments