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"를 반환하세요.
| a | b | result |
|---|---|---|
| 5 | 24 | "TUE |
function solution(a, b) {
return new Date(`2016, ${a}, ${b}`).toDateString().split(" ")[0].toUpperCase();;
}
먼저 요일을 어떻게 알아낼까 싶어서 "자바스크립트 요일 알아내기" 를 검색해보니 new Date() 를 통해서 날짜를 알아내는 방법이 있었다. (참조 블로그는 맨 아래)
순서대로 적어보자.
new Date() 에 년도, 월, 일을 넣어서 날짜를 구한다.
.toDateString() 을 이용해서 문자열로 변환시켜준다.
.split(" ") 을 이용해서 띄어쓰기를 기준으로 배열에 담아준다.
우리가 필요한 요일은 0번째 인덱스이므로 [0] 이라고 선택해준다.
리턴해야되는 값이 대문자 이므로 .toUpperCase() 를 사용한다.
참조
[웹 개발 메모장 - 자바스크립트] Date() 기본 사용 방법
hi.anna - [Javascript] 날짜 계산하기 (년/월/일 더하기, 빼기)
모던 JavaScript 튜토리얼 - Date 객체와 날짜
모던 JavaScript 튜토리얼 - new 연산자와 생성자 함수
생활코딩 - 생성자와 new
[JavaScript] 생성자와 new란?
카레유 - [JS] 자바스크립트 템플릿 리터럴: 백틱(``), 달러(${ }) 사용법