티스토리 뷰
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를 사용해서 풀면 깔끔함
'Algorithm' 카테고리의 다른 글
[Swift 알고리즘] 프로그래머스 Lv1 내적 (0) | 2021.04.27 |
---|---|
[Swift 알고리즘] 프로그래머스 Lv1 가운데 글자 가져오기 (0) | 2021.04.27 |
[Swift 알고리즘] 프로그래머스 Lv1 k번째수 (0) | 2021.04.27 |
[Swift 알고리즘] 프로그래머스 Lv1 3진법 뒤집기 (0) | 2021.04.27 |
[Swift 알고리즘] 프로그래머스 Lv1 체육복 (0) | 2021.04.27 |
댓글
공지사항