207. 2016년

Harold's velog·2024년 3월 7일

CodingTest (Class)

목록 보기
44/52


func solution(_ a:Int, _ b:Int) -> String {
    
    var day = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    var total = 0
    
    if a != 1 {
        for i in 0..<a-1 {
            total+=day[i]
        }
        total = total + b
    } else {
        total = b
    }
    
    switch total%7 {
        case 1 :
            return "FRI"
        case 2 :
            return "SAT"
        case 3 :
            return "SUN"
        case 4 :
            return "MON"
        case 5 :
            return "TUE"
        case 6 :
            return "WED"
        default :
            return "THU"
    }
}

일단 요일을 보고 전체 일수에서 7을 나눈 나머지를 기준으로 하면 되겠다라는 판단이 섰다.

그래서 day라는 배열을 만들고 각 수를 집어 넣어 줬다.

그리고 for문을 사용해서 더해주는데, 저기 조건에선 1일때 에러가 발생하기 때문에, 1월이 아닐때만 for문이 돌고 1월일땐 b값만 들어가게 해주었다.

그리고 7을 나눈 나머지를 사용하기 위해 switch case문을 사용하였다.

1월 1일이 금요일 이므로 나머지가 1일때는 금요일이기에, 그것을 기준으로 쭉 적었고

결과값을 바로 리턴하게 하였다.

profile
데일리 정리, 하루에 최소 하나의 글은 적도록 하자.

0개의 댓글