[Swift:알고리즘] 날짜로 요일 알기

Newon·2022년 7월 2일
0

Algorithm

목록 보기
2/2
post-thumbnail

특정 년도의 1월 1일의 요일이 언제인지 알 때
다음과 같이 언제가 어떤 날인지 알 수 있다.

import Foundation

let monthList = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] // 월별 일자
let weekOfDay = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"] // 1월 1일의 요일을 가장 맨 앞에 둔다.
var week = ""

let input = readLine()!.split(separator: " ").map{ Int(String($0))! }
var (month, day) = (input[0], input[1])

var totalDay = 0
for i in 0 ..< month - 1 {
    totalDay += monthList[i]
}
totalDay += day - 1
week = weekOfDay[totalDay % 7]

while week != "SUN" {
    totalDay -= 1
    week = weekOfDay[totalDay % 7]
    
    day -= 1
    if day <= 0 {
        month -= 1
        day = monthList[month - 1]
    }
}

print("\(week), \(month)\(day) 일")

언젠가 다시 필요할 수도 있을 것 같아서 ..

profile
나만 고양이 없어

0개의 댓글