월(a) 일(b)를 받아 a월b일 은 무슨 요일인지 출력한다.
2016년 1월 1일이 금요일 임을 이용하여 구한다.
해당날짜와 1월1일의 일자 차이를 7로 나눈 나머지에 따라 요일이 달라진다. 예를 들어, 나머지가 0이면 금요일, 1이면 토요일,2이면 일요일 순으로 구할 수 있다.
각월의 일수를 object로 저장하여 '해당월 전월까지의 일수 + 해당월 일수' 로 전체 일수를 구하였다.
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];
}
내장함수로도 구할 수 이지만, 이 문제의 출제의도는 직접 구하는 것 같다.