티스토리 뷰

programmers.co.kr/learn/courses/30/lessons/12901

나의 풀이

func solution(_ a:Int, _ b:Int) -> String {
    
    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]
    
    var day: Int = b
    
    for i in 0..<a-1 {
        day += month[i]
    }

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

 

다른 사람의 풀이

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

    let w = ["THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"]
    let monthDay = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    let totalDay = monthDay[0..<a-1].reduce(0, +) + b

    return w[totalDay % 7]
}

배운 점 

1. reduce를 사용해서 풀면 깔끔함

댓글
공지사항