본문 바로가기

프로그래머스/JavaScript

[프로그래머스 Javascript] Level1 2016년

- 숫자 a, b가 주어집니다.

- 2016년 a월 b일의 요일을 반환합니다.

 

 

[방법 1] array 사용

getDay()로 얻은 숫자로 week이라는 배열에서 요일 문자열을 반환할 수 있도록 합니다.

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

 

[방법 2] toDateString 사용

toDateString을 통해 위와 같은 형태로 출력이 되면 그중 필요한 요일 부분만 반환할 수 있도록 합니다.

function solution(a, b) {
    let answer = '';
    const date = new Date(2016, a-1, b);
    
    answer = date.toDateString().slice(0,3).toUpperCase();
    
    return answer;
}
 

[방법 3] date를 String으로 변환해서 사용

new Date()를 통해 출력하면 위와 같은 형태로 나타냅니다.

하지만 이것은 문자열이 아니므로 부분만을 사용할 수 없습니다.

부분만 사용하기 위해 문자열로 변환해 필요한 부분만 반환할 수 있도록 합니다.

function solution(a, b) {
    let answer = '';
    const date = new Date(2016, a-1, b);
    
    answer = String(date).slice(0, 3).toUpperCase();
    
    return answer;
}

 

 

 

 


String() : 문자열로 변환하는 메서드

String.toUpperCase() : 문자열을 대문자로 변환하는 메서드

String.slice() : 문자열의 일부를 추출해 새로운 문자열을 반환하는 메서드

 

Date : 시간을 나타내는 표준 내장 객체- Date 객체를 생성하는 유일한 방법은 new Date();입니다.

Date.getDay() : 주어진 날짜의 기준 요일을 반환하는 메서드 (0은 일요일)

Date.toDateString : Date의 날짜 부분을 사람이 읽을 수 있는 형태로 반환하는 메서드