[Swift] 2016년 - 프로그래머스 Lv 1

Swift로 프로그래머스 2016년 문제를 해결하며 얻은 지식을 정리합니다.

문제로 이동

풀이

func solution(_ a: Int, _ b: Int) -> String {
    let weekday = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]
    let daysInMonths = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    return weekday[(daysInMonths[0..<a - 1].reduce(0, +) + b + 4) % 7]
}

고찰

weekday와 daysInMonth 배열을 직접 적어주어야 할까 생각했지만 별 다른 방법이 생각나지 않았다..
return 문에 + 4는 2016년 1월 1일이 금요일이라 적용한 것이다.
(0: 일, 1: 월, 2: 화, 4: 수, 5: 목, 6: 금, 7: 토)

좋은 웹페이지 즐겨찾기