본문 바로가기
내일배움캠프/Daily Routine (알고리즘)

[내일배움캠프] 알고리즘 Daily Routine 54. 2016년

by TIP__ 2024. 10. 18.

안녕하세요.
54회차 과제 "2016년"입니다.

문제 설명

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT

입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.

제한 사항

2016년은 윤년입니다.

2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)

풀이

import java.time.LocalDate;
class Solution {
    public String solution(int a, int b) {
        String[] week = {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};
        LocalDate date = LocalDate.of(2016, a, b);
        int dayOfWeek = date.getDayOfWeek().getValue()-1;
        return week[dayOfWeek];
    }
}

배운 것

localDate.of()를 사용해 LocalDate 형식으로 만들 수 있습니다.

.getDayOfWeek()으로 date의 요일을 확인할 수 있습니다.

.getValue() 를 사용하여 해당 요일을 숫자로 확인할 수 있습니다. 

  * 월요일 ~ 일요일 순서로 1 ~ 7

 

저처럼 처음해보시는 분들에게 이 글이 조금이나마 도움이 되었으면 좋겠습니다.

댓글