[Programmers] 2016년

sunriseGong·2021년 2월 12일
1

나의 풀이

function solution(a, b) {
/*
    우선은 1월 1일이 실제로 금요일인지 확인을 해보기 위해서
    new 연산자를 통해서 Date 객체를 생성해보겠습니다.
    
    date 생성자의 인자로는 문자열 또는 숫자열로 날짜 정보를 넣을 수 있습니다.
    문자열의 경우 하나의 인자로 들어가고 
    숫자열의 경우 년도, 월, 일 등 여러 인자를 받는데 
    주의할 점은 월에서 1월부터 12월을 0 ~ 11 로 나타낸다는 것입니다.
    
    저는 그래서 가독성이 더 좋다고 느껴지는 문자열을 사용해보도록 하겠습니다.

    var answer = new Date(`2016,1,1`) 
    -> console.log(answer +'') -> Fri Jan 01 2016 00:00:00 GMT+0900 (Korean Standard Time)
    실제로 2016년 1월 1일이 금요일인 것을 확인해서 
    Date 생성자를 통해 문제를 풀 수 있음을 확인했습니다.
    */
    // a 와 b 를 인자로 받을 수 있도록 템플릿리터럴을 활용하고 문자열을 더해서 날짜가 표기되도록 하겠습니다.
    var answer = new Date(`2016,${a},${b}`) + ''

    // 문자열을 스플릿 메소드를 통해서 분할하여 요일정보가 있는 0번째 인덱스를
    // 대문자로 만들어서 리턴하도록 하겠습니다.
    return answer.split(' ')[0].toUpperCase()


}
//--------------------------------------------------------------------------------
function solution2(a, b) {
    /*
    주어진 날짜의 현지 시간 기준 요일을 반환하는 메서드인 getDay() 
    를 사용할 수 도 있습니다. 
    getDay() 는 숫자 0~6 으로 요일을  표현합니다.
    */
    var answer = new Date(`2016,${a},${b}`)
    
    // 그래서 0 ~ 6 까지 순서대로 요일을 배열로 만들고 
    let day = ['SUN','MON','TUE','WED','THU','FRI','SAT']
    
    //getDay의 반환 값을 인덱스 삼아 요일을 리턴할 수 있습니다.
    return day[answer.getDay()]
}

문제 설명

2016년 1월 1일은 금요일입니다.

두 수 a ,b를 입력받아

2016년 a월 b일이 무슨 요일인지

리턴하는 함수, solution을 완성하세요.

요일의 이름은 일요일부터 토요일까지 각각

SUN,MON,TUE,WED,THU,FRI,SAT

입니다.

제한 조건

2016년은 윤년입니다.

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


입출력 예시

입출력 예
a	b	result
5	24	TUE
profile
심심해야 공부하게 된다.

0개의 댓글