프로그래머스 - 연습문제 - 2016

goodlana·2020년 8월 27일
0

알고리즘

목록 보기
1/3


문제풀기

나의 삽질기

  • 2016년이라는 객체를 만들어서 각 월과 일을 key/value 쌍으로 넣어줬다.
  • 다음 a로 오는 월에서 -1을 하여 2016객체에 오는 전월까지의 날짜를 totalDays라는 변수에 더한다
  • totalDays만큼 week이라는 배열을 for문으로 돌린뒤, 그 결과값을 리턴한다
  • 거의 하드코딩이어서, 효율성도 떨어지고 손가락만 괜히 힘들었다...

Solution1

function solution(a, b) {
    let answer = ""
    let date = new Date(2016, a-1, b)
    let week = ["SUN", "MON", "TUE","WED","THU","FRI","SAT"];
    
    return answer = week[date.getDay()]
}

Solution2

function solution(a, b) {
    return new Date(2016, a-1, b).toString().slice(0,3).toUpperCase()
}

알게 된 내용

  • Date 메소드 사용법
    1. Date 메소드를 사용할 때,월(月) 부분은 month가 아니라 monthIndex이다 !!
    2. Date 메소드를 적용한 결과에 toString()을 넣으면 요일과 함께 리턴된다.
  • getDay(date) 메소드
    • Date 메소드를 적용한 인자를 넣어주면 요일이 리턴된다.

찾아본 내용

  • 구조분해할당
  • spread operator
  • rest parameter
profile
Let's code like chord !

0개의 댓글