본문 바로가기

 𝗔𝗣𝗣𝗟𝗘/ALGORITHM

[내일배움캠프] 데일리 루틴(iOS_3회차) - 2016년

이미지를 클릭하면 코딩테스트 페이지로 이동합니다

 

내 풀이

func solution(_ a:Int, _ b:Int) -> String {
    var day: Int = b

    let week: [String] = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]
    let month: [Int] = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

    for i in 0..<a-1 {
        day += month[i]
    }

    return week[(day+4)%7]
}

 

- week 배열에 모든 요일 문자열로 저장

- month 배열에 각 월의 일 수 저장

- a월 이전까지의 일 수를 더하기

   → b일을 더하여 해당 날짜가 연도의 시작일부터 몇 번째 날인지 계산

- (day + 4) % 7 인덱스에 해당하는 요일반환

 

 

 

 

또 다른 풀이

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]
}
Recent Posts
Visits
Today
Yesterday
Archives
Calendar
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31