이번 문제는 2016년에 한정해서 푸는 문제라 달력을 좀 보고 시작을 했습니다.
1월 1일은 금요일(FRI) 이더라고요? 그래서 weekArray의 배열의 첫번째를 FRI로 잡고 다음 요일 순으로 일곱 요소를 넣어주었습니다.그리고 for문을 1(월요일) 부터 주어진 a(월)까지 돌면서 각 월에 들어있는 날짜 (2월은 29일, 그 외의 달 들은 31일 혹은 30일)에 대한 풀 날짜를 누적시켜줍니다.
그리고 for문이 끝난 후 주어진 a월의 b일 만큼 또 날짜를 누적시켜준 후 7로 나눈 나머지를 구해줍니다. 그 나머지 값으로 weekArray의 요소(달)을 선택하면 되는데, 인덱스는 0부터 시작하므로(날짜가 1월 0일이면 가능한데 그게 아니니까.) 나머지 값의 -1인 값을 요소로 선택하여 반환하면 됩니다.
function solution(a, b) { let weekArray = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"] let totalDays = b; for(let i = 1 ; i < a ; i++){ if(i === 1 || i === 3 || i === 5 || i === 7 || i === 8 || i === 10 || i === 12 ){ totalDays += 31; } else if(i === 2){ totalDays += 29; }else if(i === 4 || i === 6 || i === 9 || i === 11){ totalDays += 30; } } return (weekArray[(totalDays%7) - 1]) }