[프로그래머스] 2016년 (Kotlin)

728x90

문제

이해

  • 2016.1.1 금요일
  • a월 b일 무슨요일 ?
  • a,b 입력 -> 2016.a.b 무슨요일인지 Return
  • [ SUN,MON,TUE,WED,THU,FRI,SAT ]

실제로 있는날을 기준으로 할 것


접근

  1. 각 월이 몇일 까지 있는지 확인할것 -> 배열로 기록
  2. Fri 가 월요일이기 때문에 1번째 위치에 배치 (한칸식 밀리기 때문에)
  3. until 을이용해 일수 전부 더한더음 7로 나눈 나머지 - > 해당요일 나온다

풀이

class Solution {
    fun solution(a: Int, b: Int): String {
        var end2016 = listOf(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)

        var dayOfWeek = listOf("THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED")

        var xDay = (0 until a - 1).map {
            end2016[it]
        }.sum() + b

        return dayOfWeek[xDay % 7]
    }
}
728x90

댓글

Designed by JB FACTORY