문제 설명
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 일같은 날짜는 주어지지 않습니다)
나의 풀이
new 생성자를 사용하여 Date 객체를 생성합니다.
문제에서 a=month
, b=day
을 나타내므로 a 와 b 를 Date 객체의 인자로서 전달합니다.
Date() 객체에서 월은 0 부터 시작합니다. 예를 들어
Date(2018,0,1)
은2018년 1월 1일
을 가리키게 됩니다. 따라서 실제 입력 값인 a=4 를 입력해야 5 월에 대한 정보를 추출할 수 있게 됩니다.
요일의 문자열 값이 들어간 days 배열에 getDay()로 가져온 인덱스를 삽입하여 문자열 “TUE” 을 반환합니다.
getDay() 함수는 해당 날짜의 요일 값을 배열 인덱스로 가져옵니다.
function solution(a, b) {
var d = new Date(2016,a-1,b);
var days = ["SUN","MON","TUE","WED","THU","FRI","SAT"];
var answer = days[d.getDay()];
return answer;
}
Comments