✔문제 설명
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일같은 날짜는 주어지지 않습니다)
✔입출력 예
a b result
5 | 24 | "TUE" |
✔나의 풀이
function solution(a, b) {
return new Date(2016, a-1, b).toString().slice(0,3).toUpperCase();
}
자바스크립트의 내장함수 Date()가 있다는 것을 알고 처음으로 쓰게되었다.
Date의 매개변수는 다양하게 구성되어 있는데, 최대 밀리초 단위까지 구성되어있다.
new Date(), new Date(value), new Date(dateString),
new Date(year, monthIndex ...)
*주의 할 점은 month는 일반 월이 아니라 인덱스로 되어있어서 1월이라면 0이 들어가야한다.
2021년 8월 30일은 new Date(2021, 7, 30)으로 구성하면 된다.
결과는 Mon Aug 30 2021 00:00:00 GMT+0900 (한국 표준시) 이다.
dateString의 경우 'December 17, 1995 03:24:00' 또는 '1995-12-17T03:24:00' 같은 표기가 해당한다.
클래스이기 때문에 toString() 함수를 통해서 문자열로 변환 시키고 0번째 부터 글자 3개를 잘라 대문자로 변환해서 리턴해서 원하는 결과를 얻었다.
여기에 쓰이는 것도 dateString이기 때문에 toString함수를 쓰면
"Tue May 24 2016 00:00:00 GMT+0900 (Korean Standard Time)"
이렇게 나온다. 요일은 처음부터 2번째 인덱스까지니깐 slice를 써서 추출해 주었다.
'알고리즘 > 자바스크립트-프로그래머스' 카테고리의 다른 글
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 숫자 문자열과 영단어 (0) | 2023.01.08 |
---|---|
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 두 개 뽑아서 (0) | 2023.01.08 |
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 예산 (0) | 2023.01.03 |
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 3진법 뒤집기 (0) | 2023.01.03 |
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 이상한 문자 만들기 (0) | 2023.01.03 |