[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: 토)
Author And Source
이 문제에 관하여([Swift] 2016년 - 프로그래머스 Lv 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ryan-son/Swift-2016년-프로그래머스-Lv-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)