Programmers 프로그래머스 코딩테스트 연습 - 2016년 (JavaScript)
Programmers(프로그래머스)의 코딩테스트 연습문제 Level 1 중,
2016년 문제를 JavaScript로 풀어보도록 하겠습니다.
문제 설명
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" |
작성한 답
solution.js
function solution(a, b) {
return new Date(2016, a-1, b).toString().slice(0, 3).toUpperCase();
}
설명
2016년 a월 b일의 요일을 구하는 문제입니다.
이 문제는 어렵게 생각할 필요 없이 JavaScript 에서 제공하는 Date 함수를 사용하여 실제 2016년 a월 b일의 요일을 return 해주면 됩니다.
아래 코드로 설명 드리도록 하겠습니다.
var answer = new Date(2016, 5-1, 24); // 예제의 a=5, b=24 대입하여 실제 해당 날짜 구하기 (월에서 -1을 해줘야 원하는 월을 얻을 수 있습니다.)
console.log("answer => ", answer); // answer => Tue May 24 2016 00:00:00 GMT+0900 (대한민국 표준시)
answer = answer.toString(); // slice 하기위해 string으로 변환
console.log("answer => ", answer); // answer => Tue May 24 2016 00:00:00 GMT+0900 (대한민국 표준시)
answer = answer.slice(0, 3); // 요일을 나타내고있는 문자열만 자르기
console.log("answer => ", answer); // answer => Tue
answer = answer.toUpperCase(); // 대문자 변환
console.log("answer => ", answer); // answer => TUE
도움이 되셨다면 공감, 댓글 부탁드립니다!
궁금하신 점이나 요청 사항은 언제든지 말씀 해주세요!
감사합니다.
'Developer > Algorithm' 카테고리의 다른 글
Programmers 프로그래머스 코딩테스트 연습 - 가운데 글자 가져오기 (JavaScript) (0) | 2020.08.04 |
---|---|
Programmers 프로그래머스 코딩테스트 연습 - 체육복 (JavaScript) (5) | 2020.08.03 |
Programmers 프로그래머스 코딩테스트 연습 - 쇠막대기 (JavaScript) (0) | 2020.08.01 |
Programmers 프로그래머스 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 (JavaScript) (0) | 2020.07.31 |
Programmers 프로그래머스 코딩테스트 연습 - K번째수 (JavaScript) (0) | 2020.07.30 |
댓글