2016년

KSang·2023년 12월 12일
0

[Kotlin]코드카타

목록 보기
53/100

🕵️문제설명

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
...
fun solution(a: Int, b: Int): String {
    val date = LocalDate.of(2016 , a, b)
    return when (date.dayOfWeek.toString()){
        "SUNDAY" -> "SUN"
        "MONDAY" -> "MON"
        "TUESDAY" -> "TUE"
        "WEDNESDAY" -> "WED"
        "THURSDAY" -> "THU"
        "FRIDAY" -> "FRI"
        "SATURDAY" -> "SAT"
        else -> ""
    }
}

LocalDate메소드를 썼다

LocalDate에 .of(year, month, day)로 날짜를 정해준다

dayOfWeek는 날짜의 요일을 열거한다

enum class DayOfWeek(val value: Int) {
    MONDAY(1),
    TUESDAY(2),
    WEDNESDAY(3),
    THURSDAY(4),
    FRIDAY(5),
    SATURDAY(6),
    SUNDAY(7)
}

여기서 toString으로 받아 요일을 받은후 when문으로 간략하게 표시해주면된다

0개의 댓글