[Programmers] 2016년 - JS

devMag 개발 블로그·2022년 1월 17일

프로그래머스 문제 링크

문제 설명

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일같은 날짜는 주어지지 않습니다)

입출력 예시

abresult
524"TUE



나의 풀이

function solution(a, b) {
    return new Date(`2016, ${a}, ${b}`).toDateString().split(" ")[0].toUpperCase();;
}

먼저 요일을 어떻게 알아낼까 싶어서 "자바스크립트 요일 알아내기" 를 검색해보니 new Date() 를 통해서 날짜를 알아내는 방법이 있었다. (참조 블로그는 맨 아래)

순서대로 적어보자.

  1. new Date() 에 년도, 월, 일을 넣어서 날짜를 구한다.

    • 년도는 2016
    • 월은 a, 일은 b
    • 문자열로 한 번에 넣기위해 백틱을 사용해서 값은 넣어준다.
      `2016, ${a}, ${b}`
  2. .toDateString() 을 이용해서 문자열로 변환시켜준다.

  3. .split(" ") 을 이용해서 띄어쓰기를 기준으로 배열에 담아준다.

  4. 우리가 필요한 요일은 0번째 인덱스이므로 [0] 이라고 선택해준다.

  5. 리턴해야되는 값이 대문자 이므로 .toUpperCase() 를 사용한다.

참조
[웹 개발 메모장 - 자바스크립트] Date() 기본 사용 방법
hi.anna - [Javascript] 날짜 계산하기 (년/월/일 더하기, 빼기)
모던 JavaScript 튜토리얼 - Date 객체와 날짜
모던 JavaScript 튜토리얼 - new 연산자와 생성자 함수
생활코딩 - 생성자와 new
[JavaScript] 생성자와 new란?
카레유 - [JS] 자바스크립트 템플릿 리터럴: 백틱(``), 달러(${ }) 사용법

profile
최근 공부 내용 정리 Notion Link : https://western-hub-b8a.notion.site/Study-5f096d07f23b4676a294b2a2c62151b7

0개의 댓글