[Lv1]2016년

HeeJin.log·2021년 7월 10일
0

코딩 테스트

목록 보기
9/10
post-thumbnail

0.문제설명

월(a) 일(b)를 받아 a월b일 은 무슨 요일인지 출력한다.

1.문제풀이

2016년 1월 1일이 금요일 임을 이용하여 구한다.
해당날짜와 1월1일의 일자 차이를 7로 나눈 나머지에 따라 요일이 달라진다. 예를 들어, 나머지가 0이면 금요일, 1이면 토요일,2이면 일요일 순으로 구할 수 있다.
각월의 일수를 object로 저장하여 '해당월 전월까지의 일수 + 해당월 일수' 로 전체 일수를 구하였다.

2.코드

function solution(a, b) {
    let month = {
        1:31,
        2:29,
        3:31,
        4:30,
        5:31,
        6:30,
        7:31,
        8:31,
        9:30,
        10:31,
        11:30,
        12:31
    }
    let days = 0;
    for(let i=1;i<=a-1;i++){
        if( a !== 1){
            days += month[i];
        }
    } days += b-1;
    let answer = ["FRI","SAT","SUN","MON","TUE","WED","THU"];
    return answer[days%7];
}

3.후기

내장함수로도 구할 수 이지만, 이 문제의 출제의도는 직접 구하는 것 같다.

0개의 댓글