본문 바로가기
Algorithm

[프로그래머스] 2016년 요일 구하기 | JavaScript

by Vintz 2021. 4. 14.
반응형

2016년 요일 구하기

  • 두 수 a, b를 받아 2016년의 a월, b일이 무슨 요일인지 구하는 알고리즘이다. 예를 들어 a = 5, b = 24라면 2016년의 5월 24일은 화요일이므로 문자열 "TUE"를 반환해야한다.

제한 조건

  • 2016년은 윤년입니다.
  • 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)

입출력 예

a b result
5 24 "TUE"

코드

function solution(a, b) {
  const day = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];
  const date = new Date(`2016, ${a}, ${b}`);
  return day[date.getDay()];
}

 

  1. 템플릿 리터럴을 사용, 2016년의 a(월), b(일)를 인수로 준다.
  2. getDay() 메서드로 0(일)~6(토)까지의 숫자 중 하나를 받아온다.
  3. 2번의 숫자를 배열 day의 인덱스로 반환한다.

new Date()를 호출하면 새로운 Date 객체가 만들어진다. 순서대로 인수를 년도, 월, 일, 시, 분, 초, 밀리초까지 나타낼 수 있다. 인수없이 호출하면 현재 날짜와 시간이 저장된 Date 객체가 반환되며 월과 요일은 0부터 시작한다.(0의 월은 1월, 요일은 일요일 이런식으로)

const now = new Date();
console.log(now);
// Mon Apr 12 2021 12:26:46 GMT+0900 (대한민국 표준시)
반응형