문제
내 정답 코드
func solution(_ a:Int, _ b:Int) -> String {
let week:[String] = ["THU","FRI","SAT","SUN","MON","TUE","WED"]
let monthDay = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
var totalDay = b
(0..<a-1).map {
totalDay += monthDay[$0]
}
return week[totalDay % 7]
}
#
1. 원하는 날짜까지의 모든 날을 더하고, 7의 나머지 값을 통해 요일을 알 수 있다.
2. 각 월의 날을 배열로 선언한다.
3. 원하는 날의 전 달까지의 날을 모두 더하고 b를 더하여,
4. 모든 날을 더한 totalDay를 계산한다.
5. 7로 나누고 나머지 값의 인덱스로 요일을 가져와 반환한다.
6. 나머지 값이 1일 때, 1월 1일, 즉 2016년 1월 1일 금요일이기 때문에, 0일 때는 목요일로 기준을 잡았다.
배운 기술
'프로그래머스 (Swift) > lv 1' 카테고리의 다른 글
[lv1] 문자열 다루기 기본 (0) | 2024.10.23 |
---|---|
[lv1] 수박수박수 (0) | 2024.10.23 |
[lv1] [1차] 다트 게임 (3) | 2024.10.22 |
[lv1] 이상한 문자 만들기 (0) | 2024.10.21 |
[lv1] K번째 수 (0) | 2024.10.20 |