2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT
입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.
2016년은 윤년입니다.
2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)
- 1월1일 금요일 기준으로 며칠 떨어져 있는지 구한다
- 요일수로 나눈 나머지를 활용해서 a월 b일의 요일 구한다
function solution(a, b) {
const 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,
};
const days = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"];
let howManydays = 0;
for (let i = 1; i < a; i++) {
howManydays += month[i];
}
howManydays += b-1 ;
return days[howManydays % 7];
}
- 1월부터 12월까지 일 수를 object에 등록한다
- 만약 a=5월이라고 가정하면 4월까지 더한다음 b(일수)를 더해준다.
- 그리고 1을 빼줘야한다(1일에서 몇일 떨어져있는지 구하기 위해)